java list集合去重
时间: 2023-02-16 16:40:06 浏览: 109
如果你想要去除 List 集合中的重复元素,有几种方法可以使用:
1. 使用 Java 8 中的 stream() 和 distinct() 方法:
```
list = list.stream().distinct().collect(Collectors.toList());
```
2. 使用 Set 集合,因为 Set 集合不能包含重复的元素:
```
Set<Type> set = new HashSet<>(list);
list.clear();
list.addAll(set);
```
3. 使用循环和 contains() 方法:
```
for (int i = 0; i < list.size(); i++) {
for (int j = i + 1; j < list.size(); j++) {
if (list.get(i).equals(list.get(j))) {
list.remove(j--);
}
}
}
```
4. 使用 Apache Commons Collections 库中的 CollectionUtils.removeDuplicate() 方法:
```
CollectionUtils.removeDuplicate(list);
```
你可以根据你的需要来选择适合你的方法。
相关问题
Javalist集合去重
Java中的List集合是一个有序的集合,允许存储重复的元素。如果需要对List集合进行去重操作,可以使用以下几种方法:
1. 使用Set集合:将List集合转换为Set集合,Set集合不允许存储重复元素,可以自动去重。然后再将Set集合转换回List集合。
```java
List<String> list = new ArrayList<>();
// 添加元素到List集合
Set<String> set = new HashSet<>(list);
list.clear();
list.addAll(set);
```
2. 使用Java 8的Stream API:通过使用Stream的distinct()方法对List集合进行去重操作。
```java
List<String> list = new ArrayList<>();
// 添加元素到List集合
List<String> distinctList = list.stream().distinct().collect(Collectors.toList());
```
3. 使用Apache Commons Collections库:使用该库提供的工具类来对List集合进行去重操作。
```java
List<String> list = new ArrayList<>();
// 添加元素到List集合
List<String> distinctList = new ArrayList<>(org.apache.commons.collections4.CollectionUtils.disjunction(list, Collections.emptyList()));
```
Java list集合去重方法
在Java中,可以使用以下方法来对List集合进行去重:
1. 使用Set集合
可以将List集合转换为Set集合,由于Set集合不允许重复元素,因此可以实现去重。然后再将Set集合转化为List集合。
```java
List<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("A");
Set<String> set = new HashSet<String>(list);
list = new ArrayList<String>(set);
```
2. 使用Java 8的Stream API
可以使用Java 8的Stream API来对List集合进行去重。使用distinct()方法可以去重,然后使用collect(Collectors.toList())方法将Stream转化为List集合。
```java
List<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("A");
list = list.stream().distinct().collect(Collectors.toList());
```
3. 使用Apache Commons Collections
Apache Commons Collections库提供了一个工具类ListUtils,其中有一个方法叫做removeAllOccurrences()可以用于去重。
```java
List<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("A");
ListUtils.removeAllOccurrences(list, "A");
```
阅读全文