怎么用stream()获取两个list集合中某一部分数据在组合成一个新的list集合
时间: 2024-03-12 15:46:38 浏览: 95
你可以使用Java 8中的Stream API来获取两个list集合中某一部分数据并将其组合为一个新的list集合,具体的步骤如下:
1. 使用Stream.filter()方法过滤出符合条件的元素,可以根据需要定义过滤条件。
2. 使用Stream.map()方法将每个元素映射为新的元素。
3. 使用Stream.collect()方法将Stream对象转换为一个新的list。
下面是示例代码:
```
List<String> list1 = Arrays.asList("apple", "banana", "orange", "pear");
List<String> list2 = Arrays.asList("lemon", "peach", "kiwi", "grape");
List<String> combinedList = Stream.concat(list1.stream().filter(s -> s.length() > 5),
list2.stream().filter(s -> s.length() > 5))
.map(String::toUpperCase)
.collect(Collectors.toList());
```
在这个例子中,我们首先使用Stream.filter()方法过滤出长度大于5的元素。然后使用Stream.map()方法将每个元素转换为大写形式。最后使用Stream.collect()方法将Stream对象转换为一个新的list,该list包含了list1和list2中长度大于5的元素的大写形式。
注意:在使用Stream.concat()方法时,两个list的元素类型必须相同。
阅读全文