java的lambda表达式实现两个list去掉重复元素
时间: 2023-10-28 09:04:26 浏览: 36
可以使用Java 8中的Lambda表达式和Stream API来实现两个List去重。
假设有两个List,分别是list1和list2,我们想要将它们合并后去重,可以按照以下步骤操作:
1. 将两个List合并为一个List,可以使用addAll方法:
```java
List<String> mergedList = new ArrayList<>(list1);
mergedList.addAll(list2);
```
2. 使用stream()方法将List转换成Stream:
```java
Stream<String> stream = mergedList.stream();
```
3. 使用distinct()方法去重:
```java
stream = stream.distinct();
```
4. 将Stream转换成List:
```java
List<String> result = stream.collect(Collectors.toList());
```
完整的代码如下:
```java
List<String> list1 = Arrays.asList("a", "b", "c");
List<String> list2 = Arrays.asList("b", "c", "d");
List<String> mergedList = new ArrayList<>(list1);
mergedList.addAll(list2);
Stream<String> stream = mergedList.stream();
stream = stream.distinct();
List<String> result = stream.collect(Collectors.toList());
System.out.println(result); // 输出 [a, b, c, d]
```