java list去重
时间: 2023-10-21 16:33:16 浏览: 84
可以使用 HashSet 来实现去重,也可以使用 Java 8 中的 Stream API 来实现,示例代码如下:
1. 使用 HashSet 实现去重:
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<String> newList = new ArrayList<>(set);
System.out.println(newList);
输出结果为:[a, b, c, d]
2. 使用 Stream API 实现去重:
List<String> list = new ArrayList<>();
// 添加重复元素
list.add("a");
list.add("b");
list.add("c");
list.add("a");
list.add("d");
List<String> newList = list.stream().distinct().collect(Collectors.toList());
System.out.println(newList);
输出结果为:[a, b, c, d]
笑话时间:为什么C++程序员喜欢喝茶?因为茶是O(1)的。
相关问题
java list 去重
Java中List去重的实现方法有很多种,以下是其中几种常见的方法:
1. 使用Set去重
可以利用Set的特性,将List中所有元素加入到Set中,由于Set中不能有重复元素,最后将Set转换回List即可去重。示例代码如下:
```
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
Set<String> set = new LinkedHashSet<>(list);
list.clear();
list.addAll(set);
```
2. 使用Stream去重
Java 8中新增加的Stream API提供了很多强大的功能,其中包括对List进行去重操作。示例代码如下:
```
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
List<String> distinctList = list.stream().distinct().collect(Collectors.toList());
```
3. 使用循环遍历去重
如果使用的是Java 7及以下版本,可以通过循环遍历来实现去重。示例代码如下:
```
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
List<String> distinctList = new ArrayList<>();
for (String s : list) {
if (!distinctList.contains(s)) {
distinctList.add(s);
}
}
```
Java list去重
可以使用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");
Set<String> set = new HashSet<>(list); // 将List转换成Set来去重
List<String> newList = new ArrayList<>(set); // 将Set转换回List
System.out.println(newList); // 输出 [A, B, C]
```
注意,这种方法会打乱原来List中元素的顺序。如果要保留原来的顺序,可以使用LinkedHashSet代替HashSet。
阅读全文
相关推荐






