list.addall会去重吗
时间: 2023-10-09 17:17:41 浏览: 174
java集合总结
不会。List.addAll() 方法会将指定集合中的所有元素添加到列表的末尾,但不会去重。如果想去重,可以先将集合转换为 Set,再将 Set 转换为 List,或者使用 Java 8 中的 Stream API 对列表进行去重操作。例如:
```java
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3));
List<Integer> list2 = new ArrayList<>(Arrays.asList(2, 3, 4));
Set<Integer> set = new HashSet<>(list);
set.addAll(list2);
List<Integer> resultList = new ArrayList<>(set); // 去重后的列表
// 或者使用 Stream API 去重
List<Integer> resultList2 = Stream.concat(list.stream(), list2.stream())
.distinct()
.collect(Collectors.toList());
```
阅读全文