java中list集合去重
时间: 2025-01-16 19:26:12 浏览: 47
在Java中,List集合去重通常可以使用Set数据结构来实现,因为Set不允许有重复元素。以下是几种常见的方法:
1. **使用HashSet**:
```java
List<String> list = ...; // 待处理的List
Set<String> set = new HashSet<>(list);
list.clear(); // 清空原List
list.addAll(set); // 将Set中的元素添加回List
```
这里利用了HashSet的自动去重特性。
2. **使用 streams API**:
```java
List<String> distinctList = list.stream()
.distinct() // 去重
.collect(Collectors.toList()); // 转换回List
```
这种方法简洁高效,但前提是列表里的元素实现了equals()和hashCode()方法,否则可能会出现问题。
3. **自定义比较规则的Stream**:
如果需要基于某个属性去重,可以创建一个Comparator:
```java
Map<String, List<String>> map = list.stream()
.collect(Collectors.groupingBy(Function.identity(), Collectors.toList()));
```
然后遍历map,将每个key对应的value添加到结果List中。
阅读全文
相关推荐


















