arraylist如何去重
时间: 2023-06-29 17:19:57 浏览: 75
可以使用Java中的HashSet来去重。具体步骤如下:
1. 创建一个空的HashSet对象。
2. 遍历ArrayList中的所有元素,将它们添加到HashSet中。
3. HashSet会自动去重,最后将HashSet转换成ArrayList即可。
示例代码如下:
```java
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
list.add("A");
list.add("D");
HashSet<String> set = new HashSet<String>(list);
list.clear();
list.addAll(set);
System.out.println(list); // 输出 [A, B, C, D]
```
这样就可以去除ArrayList中的重复元素了。
相关问题
arraylist去重
可以使用HashSet或LinkedHashSet来对ArrayList进行去重操作。HashSet是无序的,而LinkedHashSet是有序的。下面是两种方法的示例代码:
方法一:使用HashSet去重
```java
List<Integer> arrayList = new ArrayList<Integer>(){{add(3);add(2);add(4);add(2);add(3);add(5);add(4);add(5);}};
ArrayList<Integer> uniqueList = new ArrayList<>(new HashSet<>(arrayList));
```
在这个方法中,我们首先创建一个HashSet对象,将ArrayList的元素添加到HashSet中,由于HashSet的特性是不允许重复元素的,所以重复的元素会被自动去除。然后我们再将HashSet转换回ArrayList,得到去重后的结果。
方法二:使用LinkedHashSet去重
```java
List<Integer> arrayList = new ArrayList<Integer>(){{add(3);add(2);add(4);add(2);add(3);add(5);add(4);add(5);}};
ArrayList<Integer> uniqueList = new ArrayList<>(new LinkedHashSet<>(arrayList));
```
在这个方法中,我们使用LinkedHashSet代替HashSet,LinkedHashSet会保持元素的插入顺序,所以去重后的结果会保持原来的顺序。
无论是使用HashSet还是LinkedHashSet,都可以实现对ArrayList的去重操作。具体选择哪种方法取决于你对元素顺序的要求。
#### 引用[.reference_title]
- *1* *3* [【Java】为ArrayList去重](https://blog.csdn.net/yongh701/article/details/43266695)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [ArrayList去重常用的四种方式及性能对比(JMH性能分析)](https://blog.csdn.net/yeahPeng11/article/details/122904072)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
ArrayList 去重
可以通过 HashSet 来进行 ArrayList 的去重操作。具体步骤如下:
1. 创建一个 HashSet 对象,并将 ArrayList 中的元素逐个添加到 HashSet 中。
2. 创建一个新的 ArrayList 对象,将 HashSet 中的元素逐个添加到新的 ArrayList 中。
下面是 Java 代码示例:
```java
import java.util.ArrayList;
import java.util.HashSet;
public class ArrayListRemoveDuplicate {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(2);
list.add(4);
list.add(5);
list.add(1);
HashSet<Integer> set = new HashSet<>(list);
ArrayList<Integer> newList = new ArrayList<>(set);
System.out.println("原始 ArrayList: " + list);
System.out.println("去重后的 ArrayList: " + newList);
}
}
```
输出结果为:
```
原始 ArrayList: [1, 2, 3, 2, 4, 5, 1]
去重后的 ArrayList: [1, 2, 3, 4, 5]
```
阅读全文