java找出list中所有的重复数据
时间: 2023-03-31 13:00:40 浏览: 187
可以使用两个for循环,遍历list中的每个元素,将其与后面的元素进行比较,如果相同则说明是重复数据。可以将重复数据存储到一个新的list中,最后返回这个新的list即可。以下是示例代码:
```
public List<Integer> findDuplicates(List<Integer> list) {
List<Integer> duplicates = new ArrayList<>();
for (int i = ; i < list.size() - 1; i++) {
for (int j = i + 1; j < list.size(); j++) {
if (list.get(i).equals(list.get(j))) {
duplicates.add(list.get(i));
break;
}
}
}
return duplicates;
}
```
相关问题
java找出list中重复的对象数据
在 Java 中,找出列表 (List) 中重复的对象数据通常需要遍历并使用一些数据结构辅助,例如 Set 或者 HashMap。这里有一个简单的示例,展示如何使用 HashSet 来过滤掉重复的元素:
```java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
public List<Object> findDuplicates(List<Object> list) {
// 使用HashSet存储唯一值
HashSet<Object> uniqueSet = new HashSet<>(list);
// 计算set大小,因为set不允许重复,所以差异数量就是重复的数量
int difference = list.size() - uniqueSet.size();
if (difference > 0) {
// 创建一个新的列表来存放重复元素
List<Object> duplicates = new ArrayList<>(difference);
// 遍历原列表,从集合中取出不在集合中的元素
for (Object obj : list) {
if (!uniqueSet.contains(obj)) {
duplicates.add(obj);
}
}
return duplicates;
} else {
return null; // 如果没有重复,直接返回null
}
}
```
使用这个方法,你可以传入一个 `List`,它将返回一个包含重复元素的新列表。如果你想要只获取第一个出现的重复项而不创建新的列表,可以使用 `LinkedHashSet` 替换 `HashSet`,因为它保留了插入顺序,并且不允许重复。
java 找出重复的数据_java 怎样把list中相同的数据找出来
您可以使用两个循环嵌套的方法来实现查找重复数据。具体步骤如下:
1.定义一个新的列表来存储重复的数据
2.使用外循环遍历原始列表中的每个元素
3.使用内循环遍历原始列表中外循环后面的元素
4.如果发现相同的元素,则将其添加到新的列表中
以下是示例代码:
```java
List<String> originalList = new ArrayList<String>();
List<String> duplicateList = new ArrayList<String>();
// 添加一些数据到原始列表中
originalList.add("A");
originalList.add("B");
originalList.add("C");
originalList.add("B");
originalList.add("D");
for(int i=0; i<originalList.size(); i++) {
for(int j=i+1; j<originalList.size(); j++) {
if(originalList.get(i).equals(originalList.get(j))) {
duplicateList.add(originalList.get(i));
}
}
}
// 输出重复的数据
System.out.println("重复的数据: " + duplicateList);
```
这段代码会输出:重复的数据: [B],因为原始列表中有两个 "B"。
阅读全文