List去重利用另一个list集合使用contains方法去重//遍历后判断赋给另一个list集合publicstaticvoid pastLeep2(Listlist){System.out.println("list=["+li st.toString()+"]");ListlistNew=newArrayList<>();for (Stringstr:list){if(!listNew.contains(str)){listNew.add(str) ;}}System.out.println("listNew=["+listNew.toString()+"]" );}2.利用set去重(HashSet、LinkedHashSet、TreeSet:可以去重后按自然排序)//set去重pu blicstaticvoidpastLeep3(Listlist){System.out.println ("list=["+list+"]");Setset=newHashSet();List listNew=newArrayList<>();set.addAll(list);listNew.addAll(set); System.out.println("listNew=["+listNew+"]");}//set去重(缩减为 一行)publicstaticvoidpastLeep4(Listlist){System.out.p rintln("list=["+list+"]");ListlistNew=newArrayLi st<>(newHashSet(list));System.out.println("listNew=["+listN ew+"]");}3.重写toString()、hashCode()、equals()方法去重上边的两种方法适用于基本数据类 型,当list中包含对象的时候,就不能使用这种方法了,要定义对应的对象,并且重写其中相关的方法,再使用上边的去重方法实例: |
|