ArrayList 去重 有多少方法
时间: 2024-05-22 11:15:44 浏览: 77
1. 使用Set:将ArrayList转换为Set,自动去重,再转回ArrayList。
2. 使用Stream API:使用distinct()方法对ArrayList进行去重。
3. 使用循环遍历:遍历ArrayList,将元素添加到另一个ArrayList中,如果元素已经存在,则不添加。
4. 使用HashSet:创建一个HashSet对象,遍历ArrayList,将元素添加到HashSet中,再将HashSet转换为ArrayList。
5. 使用LinkedHashSet:创建一个LinkedHashSet对象,遍历ArrayList,将元素添加到LinkedHashSet中,再将LinkedHashSet转换为ArrayList。
6. 使用TreeSet:创建一个TreeSet对象,遍历ArrayList,将元素添加到TreeSet中,再将TreeSet转换为ArrayList。
7. 使用Java 8的lambda表达式:使用Stream API的distinct()方法结合lambda表达式进行去重。
8. 使用Google Guava库:使用Lists.newArrayList()方法将ArrayList转换为Guava的ArrayListMultiset对象,再使用Multisets.distinctElements()方法进行去重。
9. 使用Apache Commons库:使用CollectionUtils类的removeDuplicates()方法进行去重。
相关问题
arraylist去重方法
ArrayList 可以通过几种方式去除重复元素:
1. **使用 HashSet**:
HashSet是一个不允许有重复元素的数据结构,你可以将 ArrayList 转换为 HashSet,然后再转换回 ArrayList,这样就可以自动去重,因为 HashSet 会自动删除所有重复项。示例代码如下:
```java
List<String> uniqueList = new ArrayList<>(new HashSet<>(originalList));
```
2. **遍历并添加唯一元素**:
也可以通过遍历 ArrayList,检查每个元素是否已经存在于新 ArrayList 中,如果不存在则添加。这种方法需要额外的时间复杂度,但对于小规模数据还可以接受。
```java
List<String> uniqueList = new ArrayList<>();
for (String element : originalList) {
if (!uniqueList.contains(element)) {
uniqueList.add(element);
}
}
```
3. **利用 Java 8 的 Stream API**:
使用 `distinct()` 函数可以很简洁地完成去重操作。
```java
List<String> uniqueList = originalList.stream()
.distinct()
.collect(Collectors.toList());
```
注意:以上方法都会改变原 ArrayList 的顺序,如果你在意原始元素的顺序,第一种方法是较好的选择。
ArrayList去重
可以使用 HashSet 来去重,具体实现方法如下:
```java
ArrayList<Integer> list = new ArrayList<Integer>();
// 添加元素到 list 中
HashSet<Integer> set = new HashSet<Integer>(list);
list.clear();
list.addAll(set);
```
以上代码将 ArrayList 中的重复元素去重。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)