list怎么消除重复元素(去除List集合中的重复值)
list怎么消除重复元素(去除List集合中的重复值)
2024-10-01 10:03:39  作者:柒尛笨  网址:https://m.xinb2b.cn/sport/qac190052.html

最近项目中需要对list集合中的重复值进行处理,大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合。

但是赋给set集合后,由于set集合是无序的,原先的顺序就打乱了。所以我又想着能不能用set的特性进行去重又不打乱顺序呢?

试了一下,也是可以的,几种方法在不同情况下都有各自的优势。现在将代码写出来,比较一下。

//set集合去重,不打乱顺序 public static void main(String[] args){ List<String> list = new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("aaa"); list.add("aba"); list.add("aaa"); Set set = new HashSet(); List newList = new ArrayList(); for (String cd:list) { if(set.add(cd)){ newList.add(cd); } } System.out.println( "去重后的集合: " newList); }123456789101112131415161718 //遍历后判断赋给另一个list集合 public static void main(String[] args){ List<String> list = new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("aaa"); list.add("aba"); list.add("aaa"); List<String> newList = new ArrayList<String>(); for (String cd:list) { if(!newList.contains(cd)){ newList.add(cd); } } System.out.println( "去重后的集合: " newList); }1234567891011121314151617 //set去重 public static void main(String[] args){ List<String> list = new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("aaa"); list.add("aba"); list.add("aaa"); Set set = new HashSet(); List newList = new ArrayList(); set.addAll(list); newList.addAll(set); System.out.println( "去重后的集合: " newList); }12345678910111213141516 //set去重(缩减为一行) public static void main(String[] args){ List<String> list = new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("aaa"); list.add("aba"); list.add("aaa"); List newList = new ArrayList(new HashSet(list)); System.out.println( "去重后的集合: " newList); }12345678910111213

hashset不进行排序,还有一种方法是用treeset,去重并且按照自然顺序排列,将hashset改为treeset就可以了。(原本的顺序是改变的,只是按照字母表顺序排列而已)

//去重并且按照自然顺序排列List newList = new ArrayList(new TreeSet(list));


  • 择一个适合的枕头很重要(一个好枕头要满足两个标准)
  • 2024-10-02一个好枕头要满足两个标准枕头多高才合适?枕头硬的好还是软的好?人的一生中,有1/3时间都在睡觉而枕头就是影响睡眠质量的因素之一人的脊柱并不是笔直的,而是有4个生理弯曲枕头不合适,没枕对,会影响颈椎弯曲度,让你越睡越累好的枕头。
  • 元宵节的由来简短30字(元宵节的由来)
  • 2024-10-02元宵节的由来#头条创作挑战赛#首先祝朋友们元宵节快乐!今天化身一次‬科普博主,讲一下‬元宵节的由来[耶]元宵,古时候‬被‬称为‬元夕,本意是"上元节的夜里",也就是农历新年‬‬正月十五的夜里元宵这。
  • 空调怎么省电夏天(空调夏天省电的方法)
  • 2024-10-02空调夏天省电的方法不要随意开关短暂外出不要关闭空调,频繁的开空调会引起空调压缩机的运行过快,导致我们的电量上涨睡觉前开启定时功能晚上睡觉的时候,不需要整夜的开着空调,一般睡觉的时候定时两三个小时就可以了,如果真的怕热的。
  • 高山下的花环靳开来经典片段(他因高山下的花环靳开来成名)
  • 2024-10-02他因高山下的花环靳开来成名No.1说起何伟这个名字,许多人可能下意识地想到相声演员何沄伟,其实,今天我们要说的不是相声演员,而是一位影视剧演员,他就是本文主人公何伟对于影视圈何伟这个名字,大家可能觉得十分陌生,但如果说这位演员。
  • 山茶花怎么养护浇水(山茶花怎么养护)
  • 2024-10-02山茶花怎么养护本期导读:“山茶花”怎么养护?5个细节别做错,花朵鲜艳又大方茶花好看,山茶树价高在春节前后,北方的花卉市场上,一棵品相相当的山茶花树价格要上万元,即便如此,也没能阻挡住爱好它的人的脚步为何如此?茶花好。
  • 到底要不要阻止孩子看电视(世界欠电视一句)
  • 2024-10-02世界欠电视一句世界欠电视一句"对不起",教育专家告诉你,孩子看电视的好处多著名电视专家雷蒙·威廉姆斯说过:"电视通过改变人们对现实世界的认识,进而起到改变人与人之间、人与社会之间关系的作用&。
  • 最强足球巨星阵容(足球明星监狱组建球队)
  • 2024-10-02足球明星监狱组建球队电影《监狱疯波》讲述了足球明星监狱组建球队,劣等阵容创造奇迹球星丹尼米安在狱中带领一支由监狱里的囚犯组成的足球队与狱警半职业足球队比赛的故事面对自己背叛的全英国球迷,面对陌生的监狱环境,以及极其不友善。
  • 南海新法规(域外势力少来捣乱)
  • 2024-10-02域外势力少来捣乱资料图:南海(图源:新华网)2019年刚开年,先是传来消息说英国扬言要在南海建军事基地,接着台湾地区领导人高调应和欢迎,然后又有美军舰闯我西沙群岛领海南海地缘政治舞台从来就不消停,只是2019年来得早。
  • 辛普森杀妻案结局(世纪大案辛普森有没有杀妻)
  • 2024-10-02世纪大案辛普森有没有杀妻作者:萨沙本文章为萨沙原创,谢绝任何媒体转载照例声明:本文是萨沙创作的小说,声明完毕(你不知道的大案第113讲)再多申明一点:这篇文章相当血腥恐怖,心理素质不好的千万不要看,别留下什么心理阴影今天的案。
  • 何许人也啥意思
  • 2024-10-02何许人也啥意思何许人也意思是:指不知来自何方,来历不明的人何:什么,许:地方成语出自南朝·宋·范晔后汉书·逸民传,汉阴老父者,不知何许人也。