list怎么消除重复元素(去除List集合中的重复值)
list怎么消除重复元素(去除List集合中的重复值)
2024-11-24 04:14:44  作者:柒尛笨  网址:https://m.xinb2b.cn/life/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-24广州沙河顶服装批发市场地铁6号线沙河顶站B口出站,顺着先烈东路直走,映入眼帘的是一大片花花绿绿的服饰批发商场招牌,在这个其貌不扬的地方,星罗密布着几十个大大小小的服装批发商场,这就是沙河服装批发商圈在这里,每一栋楼即一个世。
  • 茉莉花茶和绿茶的区别是什么(茉莉花茶和绿茶有什么区别)
  • 2024-11-24茉莉花茶和绿茶有什么区别工艺流程不同:绿茶的加工,简单分为杀青、揉捻和干燥三步骤,其中关键在于杀青鲜叶通过杀青,酶的活性钝化,内含的各种化学成分,基本上是在没有酶影响的条件下,由热力作用进行物理化学变化,从而形成了绿茶的品质。
  • 梦见发奖金(梦见发奖金是什么意思)
  • 2024-11-24梦见发奖金是什么意思奖金代表一种荣誉,梦中的奖金,就是名誉的象征做官的人梦见发奖金,预示你是一个善于鼓励褒奖别人的人,职位会得到提拔女人梦见发奖金,预示父母会给予钱财,或者人缘好,能得到人们的喜爱男人梦到发奖金,预示下属。
  • 史诗巨作指环王(磅礴瑰丽的史诗巨作)
  • 2024-11-24磅礴瑰丽的史诗巨作一枚戒指统领众戒,尽归罗网一枚戒指禁锢众戒,昏暗无光!上个世纪五十年代,JRR托尔金先生出版了他的《指环王》小说三部曲,几乎影响了当时西方世界流行文化的方方面面:游戏、类型小说、音乐和电影J·R·R·。
  • 高中生出现厌学怎么办(高中生厌学怎么办)
  • 2024-11-24高中生厌学怎么办厌学情绪很多时候是由于学业增多、上课听不懂、和老师关系不好等原因造成的一旦产生厌学情绪,对整个学业的影响是非常大的,所以高中生一定要谨慎对待厌学情绪有些同学说自己厌学,可能只是暂时的疲倦,如何辨别自己。
  • 寒假充电计划小程序 寒假充电指南
  • 2024-11-24寒假充电计划小程序 寒假充电指南寒假已经开始啦!假期的你是不是这样?这样?还有这样?结果对床十分宠爱?回家后?走亲访友欢度寒假之余也不要忘记利用得之不易的空暇时光给自己充充电今天Linda来给大家介绍一些“充电神器”希望它们能成为你。
  • 羽毛球运动员张宁现状介绍(羽坛皇后张宁近况)
  • 2024-11-24羽坛皇后张宁近况雅典奥运会到伦敦奥运会的那段时间里,国羽达到了历史巅峰,男队有林丹这位超级大魔王,女队则有张宁这位羽坛一姐,其他项目也都有霸主级别的运动员不过相比于林丹,张宁的知名度要低很多,再加上她退役后很少公开露。
  • 什么时候吃杨桃比较适合呢(啥时候吃杨桃比较适合呢)
  • 2024-11-24啥时候吃杨桃比较适合呢杨桃是秋季后最好吃,杨桃的果实是在一年四季都是交替互生的,它的花期是在4~7月份,果期是在7~12月份但是品质最好的杨桃,即应季的杨桃一般是在7月份开花,而到秋季中秋节前后的时候,果实趋于成熟因此,中。
  • 儿童经常反复发烧咳嗽怎么回事(孩子反复发烧咳嗽怎么办)
  • 2024-11-24孩子反复发烧咳嗽怎么办“咳咳咳、咳咳咳,孩子咳嗽老不好是怎么了?”“早上起来,孩子就开始发烧了,是流感吗?”医生,我家孩子班级里面已经有3个孩子感冒发烧了,怕孩子被传染,我该怎么办?”……进入冬季,门诊一半以上的患儿都伴有。
  • 大麦粥的功效与作用(大麦粥有什么功效与作用)
  • 2024-11-24大麦粥有什么功效与作用大麦粥营养丰富,含有丰富的碳水化合物,蛋白质,钙元素,铁元素,维生素B族,为人体提供营养,增强体质,滋润皮肤,还有利于人体的呼吸系统,是一营养美味保健食品大麦粥能使肠蠕动规则,缓解胀气和腹痛,对便秘也。
  • 感受扑面而来夏天的心动(弥漫着初见你的气息)
  • 2024-11-24弥漫着初见你的气息夏天带来一世界的花香树林里燥热的生命我在你心里的土地上发芽树林里燥热的生命依稀记起那童年的梦境奇特的种子点缀着天空在梦之中布满着无限的爱情想到童年的梦境里粉饰着我梦境的欢喜太阳用鲜花装饰了大地我有时感。
  • (夏季治安打击整治)
  • 2024-11-24夏季治安打击整治记者在公安部14日召开的新闻发布会上了解到,全国公安机关夏季治安打击整治“百日行动”开展以来,全国共破获毒品犯罪案件8657起,抓获毒品犯罪嫌疑人12655名,缴获各类毒品5.19吨,查处吸毒人员3.。