300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > List去除重复的元素

List去除重复的元素

时间:2019-06-21 21:53:18

相关推荐

List去除重复的元素

有两种方法,一种是去重不带顺序的,一种是去重带顺序的。

/** 方法1:无顺序* Hastset根据hashcode判断是否重复,数据不会重复*/public static List<String> deleteDuplicate(List<String> list){Set<String> set = new HashSet<String>(list);list.clear();list.addAll(set);return list;}/** 方法2:带顺序* 通过Hashset的add方法判断是否已经添加过相同的数据,如果已存在相同的数据则不添加*/public static List<String> deleteDuplicateWithOrder(List<String> list){Set<String> set = new HashSet<String>();List<String> newList = new ArrayList<String>();Iterator<String> it = list.iterator();while(it.hasNext()){String str = (String)it.next();if(set.add(str)){newList.add(str);}}list.clear();list.addAll(newList);return newList;}

测试:

@Testpublic void test1(){List<String> list = new ArrayList<String>();list.add("AAA");list.add("BBB");list.add("CCC");list.add("DDD");list.add("BBB");list.add("DDD");list.add("FFF");//AAA,CCC,BBB,DDD,FFF,list = deleteDuplicate(list);}@Testpublic void test2(){List<String> list = new ArrayList<String>();list.add("AAA");list.add("BBB");list.add("CCC");list.add("DDD");list.add("BBB");list.add("DDD");list.add("FFF");//AAA,BBB,CCC,DDD,FFF,list = deleteDuplicateWithOrder(list);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。