两个list<String>获取元素相同的Set
时间: 2024-10-22 15:14:15 浏览: 21
两个List集合取相同重复数据的方法
要从两个`List<String>`中获取元素相同的集合(Set),你可以先将它们合并到一个`Set`中,因为Set不允许有重复元素。然后再将这个Set与原两个列表进行比较,通过`equals()`方法检查每个列表是否与Set相等,如果有则说明元素相同。以下是简单的步骤:
```java
List<String> list1 = ...;
List<String> list2 = ...;
// 合并两个列表到一个Set,自动去重
Set<String> mergedSet = new HashSet<>(Arrays.asList(list1.toArray(new String[0])), list2.toArray(new String[0]));
// 判断set是否等于list1和list2
boolean isSameElements = mergedSet.equals(list1) && mergedSet.equals(list2);
Set<String> commonElements = isSameElements ? Collections.emptySet() : mergedSet;
System.out.println("Common elements in both lists: " + commonElements);
```
在这个例子中,如果`mergedSet`等于`list1`和`list2`,那么它们的元素完全相同,所以`commonElements`将是空集;反之,如果`mergedSet`不全等于两者,`commonElements`将包含两个列表共有的元素。
阅读全文