Java给list去重
时间: 2023-10-06 15:09:29 浏览: 40
在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去重
Java中List去重的方法有很多种,下面介绍几种常用的方法。
1. 使用Set去重
Set是Java中的一个集合类,它的特点是不允许重复元素。我们可以利用这个特点来去重。具体实现方法如下:
```java
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
list.add("d");
Set<String> set = new HashSet<>(list);
list.clear();
list.addAll(set);
System.out.println(list); // 输出:[a, b, c, d]
```
2. 使用TreeSet去重
TreeSet是一个有序的集合,它可以自动按照元素的大小进行排序。我们可以利用这个特点来去重。具体实现方法如下:
```java
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
list.add("d");
Set<String> set = new TreeSet<>(list);
list.clear();
list.addAll(set);
System.out.println(list); // 输出:[a, b, c, d]
```
java Lambda list去重
在Java中,可以使用Lambda表达式和Stream API来对List进行去重操作。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(2);
numbers.add(4);
numbers.add(1);
List<Integer> distinctNumbers = numbers.stream()
.distinct()
.collect(Collectors.toList());
System.out.println(distinctNumbers);
}
}
```
在上面的代码中,我们首先创建了一个包含重复元素的List。然后,通过使用`stream()`方法将List转换为流,接着使用`distinct()`方法对流中的元素进行去重操作,最后使用`collect(Collectors.toList())`方法将去重后的元素收集到一个新的List中。
运行上述代码,输出结果为:[1, 2, 3, 4],即去重后的List。