java list去重操作实现方式
在开发过程中,碰到生成一个List对象,需要对其里面的每个对象都进行校验。但是,这个List有时候存在重复的数据。因此需要进行去重,以避免重复的校验。
1.不带类型写法:
ListlistWithoutDup=newArrayList(newHashSet(listWithDup));
2.带类型写法(以String类型为例):
1)Java7以下写法:
List<string>listWithoutDup=newArrayList<string>(newHashSet<string>(listWithDup));
2)Java7及以上写法:
List<string>listWithoutDup=newArrayList<>(newHashSet<>(listWithDup));
样例:
importjava.util.ArrayList;
importjava.util.HashSet;
importjava.util.List;
publicclassTest{
publicstaticvoidmain(String[]args){
List<string>listWithDup=newArrayList<string>();
listWithDup.add("1");
listWithDup.add("2");
listWithDup.add("3");
listWithDup.add("1");
List<string>listWithoutDup=newArrayList<string>(newHashSet<string>(listWithDup));
System.out.println("listwithdup:"+listWithDup);
System.out.println("listwithoutdup:"+listWithoutDup);
}
}
样例运行结果:
listwithdup:[1,2,3,1]
listwithoutdup:[3,2,1]