ArrayList去重复元素
时间: 2023-08-18 12:07:10 浏览: 67
在Java中,可以使用HashSet来去除ArrayList中的重复元素。HashSet是一个不允许存储重复元素的集合,因此可以将ArrayList中的元素添加到HashSet中,最后再将HashSet转换回ArrayList。
具体代码如下:
```java
import java.util.ArrayList;
import java.util.HashSet;
public class RemoveDuplicates {
public static void main(String[] args) {
ArrayList<Integer> lst = new ArrayList<Integer>();
lst.add(1);
lst.add(2);
lst.add(3);
lst.add(2);
lst.add(4);
lst.add(1);
lst.add(5);
HashSet<Integer> set = new HashSet<Integer>(lst);
ArrayList<Integer> new_lst = new ArrayList<Integer>(set);
System.out.println(new_lst);
}
}
```
输出结果为:`[1, 2, 3, 4, 5]`。
相关问题
c#arraylist去除重复元素
在 C# 中,可以使用 `ArrayList` 类来存储一组元素。如果要去除 `ArrayList` 中的重复元素,可以使用以下方法:
1. 使用 `HashSet`:创建一个新的 `HashSet` 对象,并迭代遍历原始的 `ArrayList`,将元素添加到 `HashSet` 中。由于 `HashSet` 不允许重复元素,重复的元素将被自动去除。最后,将 `HashSet` 转换回 `ArrayList` 类型即可。
```csharp
using System.Collections;
using System.Collections.Generic;
ArrayList arrayList = new ArrayList() { 1, 2, 3, 2, 4, 1 };
HashSet<int> hashSet = new HashSet<int>();
foreach (int element in arrayList)
{
hashSet.Add(element);
}
ArrayList uniqueArrayList = new ArrayList(hashSet);
```
2. 使用 LINQ:如果你使用的是 C# 3.0 或更高版本,可以使用 LINQ(Language-Integrated Query)来简化操作。使用 LINQ 的 `Distinct()` 方法可以直接返回一个去除重复元素的新 `ArrayList`。
```csharp
using System.Collections;
using System.Linq;
ArrayList arrayList = new ArrayList() { 1, 2, 3, 2, 4, 1 };
ArrayList uniqueArrayList = new ArrayList(arrayList.Cast<int>().Distinct());
```
上述两种方法都可以帮助你去除 `ArrayList` 中的重复元素。选择其中一种方法即可根据你的需求。
ArrayList去重复字符串
可以使用HashSet来去除ArrayList中的重复字符串。HashSet是一个不允许存储重复元素的集合,因此可以将ArrayList中的字符串添加到HashSet中,最后再将HashSet转换回ArrayList。
具体代码如下:
```java
import java.util.ArrayList;
import java.util.HashSet;
public class RemoveDuplicates {
public static void main(String[] args) {
ArrayList<String> lst = new ArrayList<String>();
lst.add("apple");
lst.add("banana");
lst.add("orange");
lst.add("banana");
lst.add("pear");
lst.add("apple");
lst.add("grape");
HashSet<String> set = new HashSet<String>(lst);
ArrayList<String> new_lst = new ArrayList<String>(set);
System.out.println(new_lst);
}
}
```
输出结果为:`[banana, orange, apple, grape, pear]`。