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]