java两个list字符串合并并将两个list字符串中不重复的数据取出使用stream流
时间: 2024-03-20 21:39:48 浏览: 61
两个List集合取相同重复数据的方法
可以使用Java 8的Stream流来实现两个List字符串合并并取出不重复的数据。代码示例如下:
```java
List<String> list1 = new ArrayList<>();
list1.add("A");
list1.add("B");
list1.add("C");
List<String> list2 = new ArrayList<>();
list2.add("C");
list2.add("D");
list2.add("E");
List<String> list3 = Stream.concat(list1.stream(), list2.stream())
.distinct()
.filter(str -> !list1.contains(str) || !list2.contains(str))
.collect(Collectors.toList());
```
这里使用了`Stream.concat()`方法将两个List合并成一个Stream流,再使用`distinct()`方法去除重复数据,最后使用`filter()`方法过滤掉在list1和list2中都存在的字符串,只保留不重复的字符串。最后使用`collect()`方法将结果收集到一个新的List集合中。这个新的List集合中就存储了list1和list2中的所有不重复字符串。
阅读全文