主页 > 其他  > 

Java的流表达式使用

Java的流表达式使用
一、流的创建

流可以从多种数据源创建,包括集合、数组、I/O资源等:

java // 从集合创建 List list = Arrays.asList(1, 2, 3); Stream stream = list.stream();

// 从数组创建 int[] array = {1, 2, 3}; IntStream intStream = Arrays.stream(array);

// 通过Stream.of创建 Stream stringStream = Stream.of(“A”, “B”, “C”);

二、中间操作(Intermediate Operations)

中间操作返回新流,支持链式调用,但不会立即执行:

​过滤(Filter)​​ 筛选符合条件的元素:

java list.stream().filter(n -> n % 2 == 0); // 筛选偶数

​映射(Map)​​ 转换元素类型或提取属性:

java list.stream().map(String::toUpperCase); // 字符串转大写

​排序(Sorted)​​ 按自然顺序或自定义比较器排序:

java list.stream().sorted(Comparator.reverseOrder()); // 降序排列

​去重(Distinct)​​ 去除重复元素:

java list.stream().distinct();

​截取与跳过(Limit/Skip)​​

java list.stream().limit(5); // 取前5个元素 list.stream().skip(2); // 跳过前2个元素

三、终止操作(Terminal Operations)

终止操作触发流的执行并返回结果:

​收集结果(Collect)​​ 将流转换为集合或聚合数据:

java List names = list.stream() .filter(s -> s.startsWith(“A”)) .collect(Collectors.toList());

​遍历(ForEach)​​ 对每个元素执行操作:

java list.stream().forEach(System.out::println);

​统计(Count/Sum/Max/Min)​​

java long count = list.stream().count(); // 元素总数 int sum = list.stream().mapToInt(Integer::intValue).sum(); // 求和

​归约(Reduce)​​ 自定义聚合逻辑:

java int sum = list.stream().reduce(0, Integer::sum); // 累加求和

四、并行流(Parallel Stream)

通过并行处理提升大数据集性能:

java int sum = list.parallelStream() .mapToInt(n -> n * n) .sum(); // 并行计算平方和 注意:并行流适用于计算密集型任务,但可能因线程开销导致小数据集效率降低。

五、注意事项

​流的不可复用性​ 流一旦被终止操作消费,不可重复使用。 ​惰性求值​ 中间操作延迟执行,直到终止操作触发。 ​避免副作用​ 推荐使用纯函数式操作,而非在流中修改外部变量。

标签:

Java的流表达式使用由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Java的流表达式使用