Java list去重
时间: 2023-09-12 08:02:41 浏览: 83
可以使用Java中的Set来去重,Set是一种不允许重复元素的集合。可以将List转换成Set来去重,再将Set转换回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转换成Set来去重
List<String> newList = new ArrayList<>(set); // 将Set转换回List
System.out.println(newList); // 输出 [A, B, C]
```
注意,这种方法会打乱原来List中元素的顺序。如果要保留原来的顺序,可以使用LinkedHashSet代替HashSet。
相关问题
java list 去重
可以使用Set来去重,因为Set不允许重复元素,把List中的元素添加到Set中即可去重。代码实现如下:
```java
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(2);
list.add(4);
Set<Integer> set = new HashSet<Integer>(list);
list.clear();
list.addAll(set);
System.out.println(list); // [1, 2, 3, 4]
```
另外,Java 8引入了Stream API,可以使用distinct方法来去重,代码如下:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 2, 4);
List<Integer> distinctList = list.stream().distinct().collect(Collectors.toList());
System.out.println(distinctList); // [1, 2, 3, 4]
```
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());
```
阅读全文