使用泛型在java上查找重复项
我是泛型新手,希望使用泛型查找重复数据。因此,我尝试如下:使用泛型在java上查找重复项,java,Java,我是泛型新手,希望使用泛型查找重复数据。因此,我尝试如下: import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class RemoveDuplicate { public static void main(String[] args) { Integer[] i= {12,12,12,12,5,2,
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class RemoveDuplicate {
public static void main(String[] args) {
Integer[] i= {12,12,12,12,5,2,42,4,2,5,3,35,3,1,23,54,44};
removeDuplicates(i);
}
public static <T extends Number> T[] removeDuplicates(T[] list) {
Map<T,Integer> duplicateCounr=new HashMap<T,Integer>();
for(T t:list) {
Integer x=duplicateCounr.get(t);
if(x==null) {
duplicateCounr.put(t,1);
}
else {
Integer count=duplicateCounr.get(t);
duplicateCounr.put(t,++count);
}
}
List<? extends Number> nList=new ArrayList<>();
for (Map.Entry<T, Integer> entry : duplicateCounr.entrySet()) {
T key = entry.getKey();
Integer v = entry.getValue();
if(v>1) {
nList.add(key);
System.out.println("Duplicate" + key + ", Count: " + v);
}
}
return null;
}
}
import java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入java.util.Map;
公共类移除副本{
公共静态void main(字符串[]args){
整数[]i={12,12,12,5,2,42,4,2,5,3,35,3,1,23,54,44};
移除的副本(i);
}
公共静态T[]移除的副本(T[]列表){
Map DuplicateConner=新的HashMap();
对于(T:列表){
整数x=duplicateConner.get(t);
如果(x==null){
重复输入(t,1);
}
否则{
整数计数=DuplicateConner.get(t);
重复计数输入(t,++计数);
}
}
List您无法添加到此类型的列表,因为您不知道要传递的对象类型
List<? extends Number> nList=new ArrayList<>();
列表
List<T> nList=new ArrayList<>();