list怎么消除重复元素(去除List集合中的重复值)
list怎么消除重复元素(去除List集合中的重复值)
2024-11-22 04:38:47  作者:柒尛笨  网址:https://m.xinb2b.cn/tech/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-22践行嘱托十年间原标题:强化基层基础,打造共建共治共享的社会治理格局(践行嘱托十年间)社会稳定和长治久安是新疆工作的总目标稳疆安疆,重在基层2014年4月,在新疆疏附县托克扎克镇阿亚格曼干村,指出,“我们要有一个坚强。
  • 张艺谋的新作悬崖之上(悬崖之上的张艺谋)
  • 2024-11-22悬崖之上的张艺谋于和伟当初进组,张艺谋问他,我们见过面吗?于和伟笑,导演我们见过的记忆力超强的张艺谋硬是想不起来,哦——是在哪个新闻发布会上?还是活动上?于和伟继续笑,不是他第一次见张艺谋,是在1995年,《摇啊摇,。
  • 如何做微商三个月总结(小白到大咖)
  • 2024-11-22小白到大咖微商近两年来很火,很多人把通过微信开个小店就当成了“微商”,并且与淘宝相提并论,俨然自成一派实际上,微商并非“微信电商”,更不是仅仅指微信小店,微商指的是在移动终端平台上借助移动互联技术进行的商业活动。
  • 韦德看到这一幕是不是想复出(大概只有把韦德绑起来)
  • 2024-11-22大概只有把韦德绑起来前几天韦德接受采访时,被问到怎样才能阻止库里,他回答:“关掉食物杂货店,不让阿耶莎做饭”我们都知道库里很强,而且三分几乎无法阻止,其实韦德也有难以阻挡的招数啊,那就是他的迷踪步在闪电侠的武器库中,迷踪。
  • take part in和join的用法,考点精析attendjoin
  • 2024-11-22take part in和join的用法,考点精析attendjoin(1)attend出席或参加会议、婚礼、葬礼、去上课、上学、听报告等(2)join加入某一团体或组织,并成为其中的一员(3)joinin参加比赛、游戏、娱乐项目等(4)takepartin参加群众性活。
  • iphone指纹如何更灵敏(如何让iPhone手机指纹解锁更灵敏)
  • 2024-11-22如何让iPhone手机指纹解锁更灵敏文/极客修小编相信大家对「指纹解锁」都不陌生了,但iPhone手机的「指纹解锁」时灵时不灵,无奈之下还是只能用回密码解锁有什么办法可以让你的「指纹解锁」更灵敏呢?或许今天这个方法可以帮到你首先点开「设。
  • 思虑过多就会失去做人的乐趣(一个人思虑太多)
  • 2024-11-22一个人思虑太多有些东西留不住就请放手吧,给它自由,它会更加美丽要善良,要勇敢,要像星星一样努力发光天赋决定上限,努力决定下限世上最奇怪的一种人叫朋友,略得些名利,朋友全来了;略咳嗽一声,朋友又全部散开,宜随缘,不宜。
  • 独木不成林上一句(独木不成林前一句介绍)
  • 2024-11-22独木不成林前一句介绍前一句是:单丝不成线单丝不成线,独木不成林本义指一棵树成不了森林,比喻个人力量有限,办不成大事一个人的力量是有限的,不能做成大事情只有依靠集体的力量,才能干成大事业出处:周立波《山乡巨变》续篇:“这叫。
  • 空气悬挂和可变悬架有什么区别(可变悬架解析空气悬架)
  • 2024-11-22可变悬架解析空气悬架空气悬架,作为一项逼格很高的配置,一般都是出现在超豪华车型上,比如奥迪的A8、Q8,宝马的7系、X7,奔驰的S级、GLS,保时捷卡宴、大众途锐等等,大部分都是售价近百万的车型近几年空气悬架开始得到普及。
  • 体内湿气大吃什么(体内湿气大吃什么好)
  • 2024-11-22体内湿气大吃什么好湿气重可以吃一些去湿气的食物,如绿豆,赤小豆,茯苓,薏米,山药,白扁豆,冬瓜,萝卜等其中,绿豆和薏米性质偏凉,吃太多可能会伤到肾气,要注意适量湿气重的还可以喝一些茶,首先推荐的是绿茶,绿茶没有经过发酵。