Stream接口不是储存数据结构,数据源可以是一个集合,为了函数式编程创造,惰式执行,数据只能被消费一次。
分为中间操作和结束操作,
例子:
Stream<String> stream = Stream.of("1","2","3","3","tom");
//遍历
stream.forEach(System.out::println);
//过滤
stream.filter((str)->{
return !str.equals("2");
}).forEach(System.out::println);
//去重
stream.distinct().forEach(System.out::println);
//映射
stream.map((s)->{
if (s.equals("3")){
return "30";
}else {
return s;
}
}).forEach(System.out::println);
Optional<String> jg = stream.reduce((str1, str2)->{
return str1.length() >= str2.length() ? str1 : str2;
});
System.out.println(jg.get());
//合并集合
Stream<List<String>> stream2 = Stream.of(Arrays.asList("1","2","3"), Arrays.asList("3","tom"));
stream2.flatMap((strs)->{
return strs.stream();
}).forEach(System.out::println);
本文介绍 Java 中 Stream API 的基本用法及高级特性,包括如何使用 Stream 进行数据过滤、去重、映射和聚合等操作。通过具体示例展示了 Stream 在函数式编程中的优势。
999

被折叠的 条评论
为什么被折叠?



