java 对list去重
时间: 2023-10-09 09:07:09 浏览: 51
Java中对List去重可以使用HashSet来实现,HashSet是一种无序不重复元素的集合。可以将List中的元素放入HashSet中,由于HashSet不允许重复元素,所以重复的元素会被自动去除。
示例代码:
```
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(2);
list.add(1);
Set<Integer> set = new HashSet<Integer>(list); //将List转换为Set
list.clear(); //清空List
list.addAll(set); //将Set转换回List,此时重复元素已被去除
```
相关问题
java对list去重
Java 中有几种方法可以对 List 去重。其中一种方法是使用双重循环来遍历 List,并且比较元素是否相等,如果相等则将重复的元素移除。示例代码如下:
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 中不包含当前元素,则将当前元素添加到临时 List 中。示例代码如下:
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;
}
引用是示例代码,它使用了临时 List 的方式来去重。首先,创建一个空的临时 List,然后遍历原始的 List,对于每个元素,如果临时 List 中不包含该元素,则将该元素添加到临时 List 中。最后返回去重后的 List。
这些方法可以根据你的具体需求选择使用,根据 List 的大小和性能要求,选择合适的方法可以提高程序的效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Java中对List去重 Stream去重的解决方法](https://download.csdn.net/download/weixin_38667403/12761286)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Java中List集合去除重复数据的六种方法](https://blog.csdn.net/gb4215287/article/details/122599183)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
java中对list去重
在Java中,可以使用多种方法对List进行去重。其中一种方法是使用Set集合来实现去重,因为Set集合中的元素是不可重复的。可以将List集合转换为Set集合,然后再将Set集合转换回List集合。这样就可以实现List的去重操作。
另一种方法是通过遍历List集合,使用一个新的List集合来存储不重复的元素。遍历原始的List集合,如果新的List集合中不包含当前元素,则将其添加到新的List集合中。最后,新的List集合中就存储了去重后的元素。
以下是使用Set集合和遍历List集合两种方法的示例代码:
方法一:使用Set集合实现去重
```java
List<Integer> list = Arrays.asList(7, 7, 8, 8, 8, 11, 11, 9);
Set<Integer> set = new LinkedHashSet<>(list);
List<Integer> newList = new ArrayList<>(set);
System.out.println(newList);
```
方法二:通过遍历List集合实现去重
```java
List<Integer> list = Arrays.asList(7, 7, 8, 8, 8, 11, 11, 9);
List<Integer> newList = new ArrayList<>();
for (Integer num : list) {
if (!newList.contains(num)) {
newList.add(num);
}
}
System.out.println(newList);
```