下面是一个示例代码,用于比较对象列表并找到重复项,并将它们放入一个新列表中。
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class DuplicateFinder {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.add("apple");
list.add("grape");
list.add("banana");
List duplicates = findDuplicates(list);
System.out.println("Duplicates: " + duplicates);
}
public static List findDuplicates(List list) {
List duplicates = new ArrayList<>();
Map countMap = new HashMap<>();
// Count occurrences of each element
for (T element : list) {
countMap.put(element, countMap.getOrDefault(element, 0) + 1);
}
// Add elements with count > 1 to the duplicates list
for (Map.Entry entry : countMap.entrySet()) {
if (entry.getValue() > 1) {
duplicates.add(entry.getKey());
}
}
return duplicates;
}
}
在这个例子中,我们首先创建了一个包含重复项的字符串列表。然后,我们调用findDuplicates
方法来查找重复项。这个方法使用了一个HashMap
来计算每个元素的出现次数。然后,我们遍历HashMap
的条目,将出现次数大于1的元素添加到重复项列表中。最后,我们打印出重复项列表。
运行上述代码将输出:Duplicates: [banana, apple]
,这是找到的重复项。
上一篇:比较对象列表和字典列表
下一篇:比较对象列表中的数据