当前位置: 首页 > wzjs >正文

wordpress dux1.4宁波seo外包快速推广

wordpress dux1.4,宁波seo外包快速推广,网站的空间与域名,行业前10的网站建设公在 Java 中获取 Stream 对象的方式多种多样,涵盖了集合、数组、文件、生成器等场景。以下是 12 种常见获取 Stream 的方式及详细说明: 1. 从集合获取 Stream 所有实现 Collection 接口的类(如 List、Set、Queue)均可直接通过 str…

在 Java 中获取 Stream 对象的方式多种多样,涵盖了集合、数组、文件、生成器等场景。以下是 12 种常见获取 Stream 的方式及详细说明:


1. 从集合获取 Stream

所有实现 Collection 接口的类(如 ListSetQueue)均可直接通过 stream()parallelStream() 方法获取流。

List<String> list = Arrays.asList("A", "B", "C");// 获取顺序流
Stream<String> stream = list.stream();// 获取并行流
Stream<String> parallelStream = list.parallelStream();

2. 从数组获取 Stream

通过 Arrays.stream()Stream.of() 将数组转换为流。

String[] array = {"Java", "Python", "C++"};// 方式1:Arrays.stream()
Stream<String> stream1 = Arrays.stream(array);// 方式2:Stream.of()
Stream<String> stream2 = Stream.of(array);// 基本类型数组(避免装箱开销)
int[] intArray = {1, 2, 3};
IntStream intStream = Arrays.stream(intArray);

3. 从文件获取 Stream

使用 Files.lines() 逐行读取文件内容生成流。

import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;try (Stream<String> lines = Files.lines(Paths.get("data.txt"))) {lines.forEach(System.out::println);
} catch (IOException e) {e.printStackTrace();
}

4. 从 I/O 资源获取 Stream

BufferedReaderlines() 方法生成流。

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.stream.Stream;try (BufferedReader reader = new BufferedReader(new FileReader("data.txt"))) {Stream<String> lines = reader.lines();lines.forEach(System.out::println);
} catch (IOException e) {e.printStackTrace();
}

5. 生成无限流

通过 Stream.iterate()Stream.generate() 生成无限序列。

// 生成斐波那契数列的前10项
Stream.iterate(new int[]{0, 1}, fib -> new int[]{fib[1], fib[0] + fib[1]}).limit(10).map(fib -> fib[0]).forEach(System.out::println);// 生成随机数流
Stream<Double> randoms = Stream.generate(Math::random).limit(5);

6. 通过 Stream.Builder 构建流

动态添加元素生成流。

Stream.Builder<String> builder = Stream.builder();
builder.add("Apple").add("Banana").add("Cherry");
Stream<String> stream = builder.build();

7. 从字符串分割获取 Stream

使用 Pattern.splitAsStream() 分割字符串生成流。

import java.util.regex.Pattern;
import java.util.stream.Stream;Stream<String> words = Pattern.compile(", ").splitAsStream("Java, Python, C++");
words.forEach(System.out::println); // 输出: Java Python C++

8. 合并多个流

通过 Stream.concat() 合并两个流。

Stream<String> stream1 = Stream.of("A", "B");
Stream<String> stream2 = Stream.of("C", "D");
Stream<String> merged = Stream.concat(stream1, stream2); // A, B, C, D

9. 基本类型流

通过 IntStreamLongStreamDoubleStream 处理基本数据类型。

// 生成范围流
IntStream range = IntStream.range(1, 5); // 1, 2, 3, 4// 从集合转换
List<Integer> numbers = Arrays.asList(1, 2, 3);
IntStream intStream = numbers.stream().mapToInt(Integer::intValue);

10. 空流

通过 Stream.empty() 创建空流。

Stream<String> emptyStream = Stream.empty();

11. 单元素流

通过 Stream.of() 创建包含单个元素的流。

Stream<String> singleElementStream = Stream.of("Hello");

12. 其他第三方库

GuavaApache Commons 提供的工具类:

// Guava 示例:从 Iterable 创建流
Iterable<String> iterable = Lists.newArrayList("A", "B");
Stream<String> guavaStream = StreamSupport.stream(iterable.spliterator(), false);

总结:Stream 获取方式速查表

场景方法/类示例
集合Collection.stream()list.stream()
数组Arrays.stream()Stream.of()Arrays.stream(array)
文件Files.lines()Files.lines(Paths.get("data.txt"))
I/O 资源BufferedReader.lines()reader.lines()
无限序列Stream.iterate() / generate()Stream.iterate(0, n -> n + 1)
动态构建流Stream.BuilderStream.builder().add("A").build()
字符串分割Pattern.splitAsStream()Pattern.compile(",").splitAsStream(s)
合并流Stream.concat()Stream.concat(s1, s2)
基本类型流IntStream / LongStreamIntStream.range(1, 5)
空流Stream.empty()Stream.empty()
单元素流Stream.of()Stream.of("Hello")
第三方库支持Guava / Apache CommonsStreamSupport.stream(iterable)
http://www.dtcms.com/wzjs/485016.html

相关文章:

  • 建设银行官方网站买五粮液酒市场营销策划方案范文
  • 江都建设局网站排行榜百度
  • 个人网站建设设计饥饿营销的十大案例
  • 做网站虚拟主机和云服务器绍兴seo
  • 南宁有做校园门户网站的吗青岛seo精灵
  • 成品网站怎样建设上海营销seo
  • 政府类网站建设 经费nba常规赛
  • 万和城官方网站南宁seo排名首页
  • 供应邯郸网站建设seo是什么意思电商
  • 泉州 网站建设公司首选百度联盟个人怎么接广告
  • 网站正在建设 h5模板360竞价推广怎么做
  • 做公众号app 网站 app百度公司招聘岗位
  • 北京人力资源网站seo技术团队
  • 石家庄网站建设流程百度关键词搜索排行榜
  • 昆明网站建设推广服务今天
  • 黄村网站建设一条龙长沙建站seo公司
  • 十大免费ppt网站下载公司网站建设哪个好
  • 成人高考什么时候出成绩吉林seo管理平台
  • 大红门做网站的公司各大引擎搜索入口
  • 平谷微网站建设百度知道小程序
  • 广州哪里能建铝制自建房宁波seo推广外包公司
  • led外贸网站国家职业技能培训学校
  • 滨州网站开发网站上不去首页seo要怎么办
  • 白山做网站沈阳关键词seo排名
  • wordpress仪表盘添加内容市场seo是什么
  • 营销型网站的功能如何免费做网站网页
  • 微网站 底部导航菜单无锡网站建设
  • dedecms旅游网站模板微软优化大师
  • 优秀网页设计代码东莞网站建设优化
  • 微信小程序怎么做网站最好的免费推广平台