java中获取两个List<String>中相同的元素的方法
时间: 2024-09-23 20:05:01 浏览: 53
Java8 将List<Integer> 转换成以逗号分割的String字符串
在Java中,你可以使用多种方法来找出两个`List<String>`中相同的元素,这里提供一种常见的方式:
1. 使用`Stream API`结合`Collectors.groupingBy()`和`Collectors.toList()`:
```java
import java.util.*;
import java.util.stream.Collectors;
public List<String> findCommonElements(List<String> list1, List<String> list2) {
return list1.stream()
.collect(Collectors.groupingBy(String::equals, Collectors.toList()))
.values().stream() // 获取所有值列表
.flatMap(Collection::stream)
.filter(list2::contains)
.collect(Collectors.toList());
}
```
这个方法首先通过`groupingBy()`将list1中的字符串按照equals方法分组,然后只保留那些在list2中也存在的键。
阅读全文