java8 常用的流操作 stream collect map filter flatMap max min reduce

                  java8 常用的流操作 stream collect map filter flatMap max min reduce

1 collect(toList())
collect(toList()) 方法由Stream 里的值生成一个列表,是一个及早求值操作。

//Stream的of方法使用一组初始值生成新的Stream
List<String> stream = Stream.of("a", "b", "c").collect(Collectors.toList());
System.out.println(stream);

2 map 的作用
如果有一个函数可以将一种类型的值转换成另外一种类型,map 操作就可以使用该函数,将一个流中的值转换成一个新的流。

//使用map操作将字符串转换为大写形式
List<String> map = Stream.of("a", "ab", "abc").map(String::toUpperCase).collect(Collectors.toList());
System.out.println(map);

3 filter
遍历数据并检查其中的元素时,可尝试使用Stream 中提供的新方法filter。

//遍历出长度大于2的字符串
List<String> filter = Stream.of("a", "ab", "abc").filter(value -> value.length() > 2).collect(Collectors.toList());
System.out.println(filter);

4 flatMap
flatMap 方法可用Stream替换值,然后将多个Stream连接成一个Stream。

//合并多个列表的流
List<String> flatMap = Stream.of(Arrays.asList("a", "b"), Arrays.asList("c", "d"))
		.flatMap(List::stream)
		.collect(Collectors.toList());
System.out.println(flatMap);

5 max和min
Stream 上常用的操作之一是求最大值和最小值。Stream API中的max和min操作足以解决这一问题。

String shortest = Arrays.asList("a", "ab", "abc").stream().min(Comparator.comparing(String::length)).get();
System.out.println(shortest);

6 reduce
reduce操作可以实现从一组值中生成一个值。

int count = Stream.of(1, 2, 3).reduce(0, (acc, element) -> acc + element);
System.out.println(count);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值