java List去重
时间: 2024-09-28 14:08:58 浏览: 65
在Java中,List是一个有序集合,它允许存储重复元素。如果你想要从List中去除重复的元素,有几种常见的方法:
1. 使用Set:Set不允许有重复元素,你可以将List转换为Set,然后再转换回List,这样就自动去除了重复项。例如:
```java
List<String> list = ...;
Set<String> uniqueList = new HashSet<>(list);
list.clear(); // 清空原来的list
list.addAll(uniqueList);
```
2. 自定义迭代:遍历List,使用HashSet或LinkedHashSet作为临时存储,只添加未见过的元素到新的List中。因为HashSet不保证顺序,所以如果需要保持原始插入顺序,可以使用LinkedHashSet。
```java
List<String> list = ...;
List<String> deduplicatedList = new ArrayList<>();
for (String item : list) {
if (!deduplicatedList.contains(item)) {
deduplicatedList.add(item);
}
}
```
3. 利用Java 8 Stream API:Stream API提供了一个简洁的方式来处理这种操作,通过`distinct()`方法消除重复。
```java
List<String> list = ...;
List<String> uniqueList = list.stream()
.distinct() // 去重
.collect(Collectors.toList());
```
阅读全文
相关推荐










