Jdk8 常用的流操作

目录

中间操作

终端操作

其他

属性值相同的对象去重

流操作可以分为两类:中间操作和终端操作。

中间操作

filter

        用于筛选流中的元素,返回一个只包含符合条件的元素的新流。

List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dad");
List<String> filteredNames = names.stream().filter(name -> name.startsWith("A")).collect(Collectors.toList());
System.out.println(filteredNames);
// 输出: [Alice]

map

        用于将流中的每个元素映射到另一个元素。它通常用于转换操作。

List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dad");
List<Integer> nameLengths = names.stream().map(String::length).collect(Collectors.toList());
System.out.println(nameLengths);
// 输出: [5, 3, 7, 5]

flatMap

        用于将流中的每个元素转换成一个流,然后将多个流合并成一个流。

java
复制代码
List<List<String>> listOfLists = Arrays.asList(
    Arrays.asList("a", "b", "c"),
    Arrays.asList("d", "e", "f"),
    Arrays.asList("g", "h", "i")
);
List<String> flatList = listOfLists.stream().flatMap(Collection::stream).collect(Collectors.toList());
System.out.println(flatList);
// 输出: [a, b, c, d, e, f, g, h, i]

sorted

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值