Java的List怎么去重
时间: 2023-07-01 12:13:31 浏览: 68
可以使用Java的Set集合来去重,因为Set集合不允许存储重复的元素。具体实现可以先将List转换为Set,再将Set转换回List即可。示例代码如下:
```java
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("A");
list.add("B");
Set<String> set = new HashSet<>(list);
list.clear();
list.addAll(set);
System.out.println(list); // 输出 [A, B, C]
```
这样就可以将List中的重复元素去掉,只保留不重复的元素。
相关问题
java list去重
在Java中,可以使用java.util包中的HashSet类来去除List中的重复元素。HashSet是基于HashMap实现的,它不允许重复元素存在,当向HashSet中添加重复元素时,HashSet会自动将重复元素去重。具体代码如下:
```
List<Integer> originalList = new ArrayList<>(Arrays.asList(1, 2, 2, 3, 3, 4, 5, 5));
Set<Integer> set = new HashSet<>(originalList);
List<Integer> newList = new ArrayList<>(set);
System.out.println(newList);
```
输出结果为:
```
[1, 2, 3, 4, 5]
```
另外,如果要保留List中元素的顺序,可以使用LinkedHashSet,它会按照元素添加的顺序来保留元素。具体代码如下:
```
List<Integer> originalList = new ArrayList<>(Arrays.asList(1, 2, 2, 3, 3, 4, 5, 5));
Set<Integer> set = new LinkedHashSet<>(originalList);
List<Integer> newList = new ArrayList<>(set);
System.out.println(newList);
```
输出结果为:
```
[1, 2, 3, 4, 5]
```
java list 去重
可以使用Set来去重,因为Set不允许重复元素,把List中的元素添加到Set中即可去重。代码实现如下:
```java
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(2);
list.add(4);
Set<Integer> set = new HashSet<Integer>(list);
list.clear();
list.addAll(set);
System.out.println(list); // [1, 2, 3, 4]
```
另外,Java 8引入了Stream API,可以使用distinct方法来去重,代码如下:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 2, 4);
List<Integer> distinctList = list.stream().distinct().collect(Collectors.toList());
System.out.println(distinctList); // [1, 2, 3, 4]
```
阅读全文