list怎么消除重复元素(去除List集合中的重复值)
list怎么消除重复元素(去除List集合中的重复值)
2024-11-05 06:53:39  作者:柒尛笨  网址:https://m.xinb2b.cn/know/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-11-05教你做好吃的蛋炒饭蛋炒饭是我们餐桌上常见的一道主食,说起蛋炒饭,这是一款即熟悉,又好吃,做法还特别简单的家常美味蛋炒饭虽然简单,但每个人的做法不同,味道也大不一样,不论是先炒饭、还是先炒蛋、还是把饭裹上蛋液,再一起下锅。
  • 英语口语look是什么意思(每日英语eat)
  • 2024-11-05每日英语eateatone'shat是什么意思?eatone'shat是吃掉某人的帽子吗?其实直译过来语法确实是如此但在英语习语中,它的意思却是"敢打赌,十分确定"在中文里,有一种赌。
  • 最近有什么武道的电影上映(武指的消失)
  • 2024-11-05武指的消失你有多久没在古装剧中看过纯正的打戏了?如今的古装剧一抓一大把,什么仙侠剧、玄幻剧、武侠剧,标签一大堆,点进去一看,本质上还是披着各种“高大上”外壳谈恋爱的古装偶像剧剧情俗套,工业糖精齁嗓子,那就光欣赏。
  • 艾灸要怎么灸才更有用(那就试试被称为)
  • 2024-11-05那就试试被称为脊柱,被称为“男人的龙脉,女人的凤骨”为什么这么说?一个很重要的原因就是:脊柱为督脉运行之经,统辖全身阳脉,阳气皆归于此!阳气是什么?《黄帝内经》里说:“阳气者,若天与日,失其所则折寿而不彰”明代名医。
  • 柴火鸡的正宗做法香料配方(柴火鸡的做法与配料)
  • 2024-11-05柴火鸡的做法与配料柴火鸡,顾名思义就是用土灶烧柴火用大铁锅做出来的,但市区不允许烧柴火,所以要吃柴火鸡基本都要开车去很远的地方,而且每次还要排很长的队!主料:土鸡6斤辅料:大蒜小半碗、红尖椒/青尖椒半碗详细见步骤适量柴。
  • 穿袜子睡觉好吗(可以穿袜子睡吗)
  • 2024-11-05可以穿袜子睡吗正常情况下穿袜子睡觉是不好的,因为穿袜子睡觉,会影响和阻碍足部的血液循环,感觉睡觉不舒服,不能解除一天的疲劳人身体的许多穴位都在脚上,脚上的血液循环不好,使得周身血液循环降低,同时也降低了身体各个器官。
  • 干锅兔怎么弄才好吃(简单几步做好一盘干锅兔)
  • 2024-11-05简单几步做好一盘干锅兔兔肉剁成小块,用料酒,生抽腌渍,能过夜最好,1小时也行准备好配料,锅里到油,稍微多点,要煸肉和佐料的油热后加冰糖致融化,倒兔肉煸炒,开始中火,后面小火,直到看到兔肉有点发黄上色了,盛出兔肉先倒一半的辣。
  • 北欧印象172平(108m²北欧自然时光)
  • 2024-11-05108m²北欧自然时光北欧风馨蓝木语北欧小清新整装设计最好的装修风格就是把你喜欢的一切都放进你的家本案为一对八零后夫妇的三口之家,主人非常明确喜欢年轻时尚的北欧风格,并要求要合理计划资金投入避免超支整体主色调定位为灰白色调。
  • 税务大厅减税降费(荔湾云税厅便民全景服务)
  • 2024-11-05荔湾云税厅便民全景服务2022年4月是全国第31个税收宣传月,4月1日,广州市荔湾区税务局举办了“春雨润苗智税享”纳税人体验日活动笔者来到广州市荔湾区税务局西华路办税服务厅,与纳税人、缴费人一起逛“云税厅”,全景感受便民办。
  • 清姬御魂搭配(快来看看)
  • 2024-11-05快来看看打斗技的话一般日女,雪幽魂,钟灵这些的都可以,但是带魅妖会好很多,这个御魂在大改之后触法概率激增到了25%,无疑是给小清的御用御魂御魂套装:针女*4+暴击*2;魅妖*4/魍魉*4+生命*2/防御*2御。
  • 干皮混油皮适合的大牌水乳(10款平价水乳种草)
  • 2024-11-0510款平价水乳种草一到了夏季这种又热又闷的季节真的是连水乳都不想用了呢,你说用吧,太粘腻不舒服,不用吧又觉得少了点什么,或者脸感觉会紧绷干燥一些,着实是太难了,难倒本靓仔了我们夏季其实就是想要一点清爽肤感的肤感保湿效果。