java list去重
时间: 2023-06-21 14:13:39 浏览: 49
Java中的List可以通过Set集合进行去重,以下是示例代码:
```
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("A");
list.add("B");
Set<String> set = new HashSet<>(list);
list.clear();
list.addAll(set);
System.out.println(list); // 输出 [A, B, C]
```
这里先将List转为Set进行去重,然后再将Set转回List。需要注意的是,这种去重方式会打乱原来的元素顺序,如果需要保持原来的顺序,可以使用LinkedHashSet代替HashSet。
相关问题
javalist去重
对于Java List去重,有多种方法可以实现。以下是三种常见的方法:
方法一:使用双重循环遍历List,逐个比较元素,如果有重复则移除。
```java
public static List removeDuplicate(List list) {
for (int i = 0; i < list.size() - 1; i++) {
for (int j = list.size() - 1; j > i; j--) {
if (list.get(j).equals(list.get(i))) {
list.remove(j);
}
}
}
return list;
}
```
方法二:使用一个额外的新List,遍历原List,如果新List中不包含该元素,则添加到新List中。
```java
public static List removeDuplicate(List list){
List listTemp = new ArrayList();
for(int i=0;i<list.size();i++){
if(!listTemp.contains(list.get(i))){
listTemp.add(list.get(i));
}
}
return listTemp;
}
```
方法三:使用Java 8的Stream对List进行去重操作。
```java
list.stream().distinct().collect(Collectors.toList());
```
java list 去重
Java中List去重可以使用以下两种方式:
1. 使用Set去重
可以使用Set来去重,因为Set是不允许重复元素的,将List中的元素放入Set中,再将Set转成List即可得到去重后的List。
示例代码:
```java
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("A");
Set<String> set = new HashSet<>(list);
List<String> result = new ArrayList<>(set);
System.out.println(result); // ["A", "B", "C"]
```
2. 使用Java 8 Stream API去重
Java 8中新增了Stream API,可以使用distinct()方法对List进行去重。
示例代码:
```java
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("A");
List<String> result = list.stream().distinct().collect(Collectors.toList());
System.out.println(result); // ["A", "B", "C"]
```
以上两种方法都可以实现List去重,选择哪种方式取决于具体需求和场景。