java写一个list去重
时间: 2023-08-25 09:15:59 浏览: 85
### 回答1:
我可以给你一个示例: List<Integer> list = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
if (!list.contains(list.get(i))) {
list.add(list.get(i));
}
}
### 回答2:
在Java中,我们可以使用HashSet来实现List的去重。HashSet是一个不允许重复元素的集合,可以自动去除重复的元素。以下是一种实现方式:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public class ListDeduplicate {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(2);
list.add(4);
List<Integer> deduplicatedList = removeDuplicates(list);
System.out.println(deduplicatedList);
}
public static <T> List<T> removeDuplicates(List<T> list) {
HashSet<T> set = new HashSet<>(list); // 将List转换为HashSet
return new ArrayList<>(set); // 将HashSet转换回List
}
}
```
在上面的代码中,我们创建了一个List,并且向其中加入了一些重复的元素。然后,我们定义了一个名为`removeDuplicates`的方法,该方法接受一个List作为参数。通过将List转换为HashSet,可以自动去除掉重复的元素。最后,再将HashSet转换回List,即得到了去重后的List。运行代码,输出的结果将是`[1, 2, 3, 4]`,其中重复的元素已经被去除掉。
这种方法的时间复杂度为O(n),其中n是List中元素的个数。
### 回答3:
在Java中,我们可以使用HashSet来去除List中的重复元素。HashSet是由HashMap实现的,它存储的是键值对中的键,而值都是固定的。由于HashSet的特性,它只能存储唯一的元素,不允许重复。以下是实现去重的例子:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public class ListDuplicateRemover {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(2);
list.add(4);
list.add(1);
System.out.println("去重前的列表:" + list.toString());
HashSet<Integer> set = new HashSet<>(list);
List<Integer> uniqueList = new ArrayList<>(set);
System.out.println("去重后的列表:" + uniqueList.toString());
}
}
```
在上述代码中,首先我们创建了一个List对象并添加了一些元素。然后,我们利用HashSet的特性将List中的元素添加到HashSet中,这样就去除了重复的元素。最后,我们将HashSet转换回List,得到了去重后的列表。
运行结果:
去重前的列表:[1, 2, 3, 2, 4, 1]
去重后的列表:[1, 2, 3, 4]
通过上述的方法,我们可以很方便地去除List中的重复元素,保留唯一的元素。
阅读全文