list去除重复数据java
时间: 2023-09-06 14:13:22 浏览: 60
在Java中,有多种方法可以去除List中的重复数据。以下是三种常见的方法:
方法一:使用双重循环遍历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;
}
```
方法二:使用HashSet来去除重复元素,并保持原始List的顺序。首先将List中的元素逐个添加到HashSet中,HashSet会自动去除重复元素。然后将HashSet中的元素重新添加到一个新的List中。
```java
public static void removeDuplicateWithOrder(List list) {
Set set = new HashSet();
List newList = new ArrayList();
for (Iterator iter = list.iterator(); iter.hasNext();) {
Object element = iter.next();
if (set.add(element))
newList.add(element);
}
list.clear();
list.addAll(newList);
System.out.println("remove duplicate " + 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;
}
```
以上是三种常见的去除List中重复数据的方法,你可以根据具体需求选择适合的方法来使用。
#### 引用[.reference_title]
- *1* *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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]