Java给list去重
时间: 2023-10-06 19:09:29 浏览: 101
在Java中,可以使用Set来去除List中的重复元素。Set是一个不允许有重复元素的集合,因此将List转换为Set,再转换回List即可去除重复元素。以下是示例代码:
```java
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(2);
list.add(4);
list.add(1);
Set<Integer> set = new HashSet<Integer>(list);
list.clear();
list.addAll(set);
System.out.println(list); // [1, 2, 3, 4]
```
在上面的代码中,我们首先定义了一个包含重复元素的List,然后将其转换为一个Set,这样就去除了重复元素。最后,我们清空了原来的List,并将去重后的元素重新添加到List中,然后输出List中的元素。
相关问题
java list list去重
在 Java 中,List 类型的数据可能存在重复元素。要去除 List 中的重复元素,可以采用多种方法,这里提供两种常见的做法:
1. 使用 Set(集合):Set 的特性是不允许有重复元素,我们可以先将 List 转换为 Set,然后转换回 List,这样就自动去除了重复项。例如:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public List<String> removeDuplicates(List<String> list) {
return new ArrayList<>(new HashSet<>(list));
}
```
2. 自定义遍历:如果需要保留原生 List 结构,可以使用 Stream API 或者传统 for-each 遍历来检查并移除重复项:
```java
import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;
public class RemoveDuplicatesExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c", "a", "d", "b"));
list = list.stream()
.distinct() // 这里会去除重复
.collect(Collectors.toList()); // 将结果收集回新的 List
System.out.println(list); // 输出:[a, b, c, d]
}
}
```
Java的list去重
可以使用Java集合类`HashSet`来去除List中的重复元素。
方法1: 首先将List转换为Set,由于Set不能包含重复元素,所以会自动去重。然后再将Set转换回List。
```
List list = ...;
Set set = new HashSet(list);
List newList = new ArrayList(set);
```
方法2: 使用Java8新特性stream去重,
```
list = list.stream().distinct().collect(Collectors.toList());
```
第二种方法,在集合本身上操作,更加简洁。
阅读全文
相关推荐














