java list去除重复
时间: 2024-11-06 20:15:22 浏览: 21
Java判断List中有无重复元素的方法
5星 · 资源好评率100%
在Java中,如果你想要从List中去除重复元素,可以使用Set数据结构,因为Set不允许有重复元素。List到Set的转换会自动去重。以下是简单的方式:
```java
import java.util.*;
List<String> listWithDuplicates = Arrays.asList("a", "b", "c", "a", "d", "b");
Set<String> uniqueList = new HashSet<>(listWithDuplicates);
List<String> uniqueListWithoutDuplicates = new ArrayList<>(uniqueList);
// 输出:[a, b, c, d]
System.out.println(uniqueListWithoutDuplicates);
```
在这个例子中,我们首先将List转换为HashSet(由于Set的特性),然后再将Set转换回List。这样就得到了一个没有重复元素的新List。
如果你想在原地操作List并保留List的顺序,可以使用`List<T>.removeAll()`方法结合一个循环,遍历整个List并移除所有出现过的元素:
```java
List<String> listWithDuplicates = ...; // 你的列表
for (int i = 0; i < listWithDuplicates.size(); ) {
String currentElement = listWithDuplicates.get(i);
if (!listWithDuplicates.subList(i + 1, listWithDuplicates.size()).contains(currentElement)) {
i++;
} else {
listWithDuplicates.remove(i); // 如果当前元素后面还有相同的,就移除它
}
}
// 输出:[a, b, c, d]
System.out.println(listWithDuplicates);
```
阅读全文