list怎么消除重复元素(去除List集合中的重复值)
list怎么消除重复元素(去除List集合中的重复值)
2024-09-30 04:58:51  作者:柒尛笨  网址: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-09-30剖腹产后不能错过的护理知识剖腹产比顺产更困难,是从产后开始的剖腹产,要在身上切开10层!取出胎儿后,再一层层缝合伤口缝好的刀口十几厘米长,碗大的一个疤剖腹产这么大一个创口,术后一周,表皮的伤口可以慢慢愈合,完全恢复则需要4~6。
  • 新员工培养的方法(新员工培养的方法有哪些)
  • 2024-09-30新员工培养的方法有哪些给新员工制定工作目标作为企业管理者,当然要对新员工提出一系列的工作标准,从而衡量相应阶段的工作能力当然,这也会是对新员工的一项考核指标不过,在工作执行过程中,即使员工的工作目标没有完成,管理者可以要求。
  • 进口泥炭养多肉好吗(进口泥炭土养花)
  • 2024-09-30进口泥炭土养花家庭养花,养多肉,养绿植,都少不了花土,好的花土可以让植物更快地生长,什么样的土,才是好的花土?没有准确的判断标准,我个人觉得,进口的“品氏泥炭土”或者是“K牌大汉”都是比较实用的营养土,这两种花土也。
  • 权志龙最佳cp搬奖后台(权志龙恋情曝光)
  • 2024-09-30权志龙恋情曝光上周五,穿着牛仔背带裤和蓝色毛线帽的GD,上脚特别版红色的PEACEMINUSONExNikeAirForce1「Para-Noise2.0」,与粉丝隔空见面,还用韩语中文英文日文向全球粉丝问候:「大。
  • 伊宁是北疆吗(探访北疆③伊宁)
  • 2024-09-30探访北疆③伊宁从塔城到伊宁,大巴车要开九个小时午饭时经过了一处国门,就是阿拉山口,我们在这附近停车吃饭阿拉山口是中学地理课上经常提及的地方,是新亚欧大陆桥在中国境内的终点,这座亚欧大陆桥东起连云港,向西一直到阿拉山。
  • 盒装桶面的家庭吃法(盒装桶面的家庭简单吃法)
  • 2024-09-30盒装桶面的家庭简单吃法首先选择一个桶装方便面,拆开包装之后,将面饼和调味包分开,扔掉一次性面桶,防止高温析出有害物质,我们只取面饼和调料包使用锅中加入清水,开始点火烧开水,然后将调味的料包,拆封后下入锅中进行炖煮大火烧开水。
  • 我的世界火影忍者MOD玩不了
  • 2024-09-30我的世界火影忍者MOD玩不了哦,那你可能没有安装FlogeAPI,这个是mod运行的基础,安装方法如下(我提供一个1.6.4的)http://www.paopaoche.net/buding/35305.html如果安装了,那么。
  • 寻找投资人需要准备什么(不得不看的两大场所)
  • 2024-09-30不得不看的两大场所近日来,互联网频频爆出各行各业领头羊分分获得投资人注资,资产都以数亿美金为记,相信很多看到这些报道的新生创业者心里都在感叹:“何时该轮到我?”而更多新生创业者心里感叹最多的一句是:“马云、雷军、李开复。
  • 有创意的游戏id名字排行(网游玩家自娱自乐)
  • 2024-09-30网游玩家自娱自乐在各种网游中,想要建立一个角色闯荡江湖,首先需要在一众眼花缭乱的角色中选择自己喜欢的门派以及性别体型,之后,你还需要细心雕琢一张你喜欢的角色脸型,而在经过了以上的“重重考验”之后,最后一步也是最重要的。
  • 怎么和回避型人相处(津巴多普通心理学)
  • 2024-09-30津巴多普通心理学你是不是也有过这样的情况:夫妻间说着说着就吵架了,会因为对方一句话而大动肝火,莫名其妙地就发脾气甚至恶言相向,结果导致不欢而散你想缓和这种情况又束手无策?作者菲利普·津巴多、罗伯特·约翰逊、薇薇安·麦。
  • 欢乐斗地主排位排名(欢乐斗地主也有排位赛啦)
  • 2024-09-30欢乐斗地主也有排位赛啦《欢乐斗地主》推出竞技排位系统,好奇怎么玩?我们一起来看看!段位共有7个,由低到高分别为:青铜、白银、黄金、铂金、钻石、大师、斗神其中青铜、白银有Ⅲ-Ⅰ,3个小段位,每个小段位含有3颗星;黄金、铂金有。
  • 舍不得再爱你的诗句(爱你在心口难开)
  • 2024-09-30爱你在心口难开前言:有人问:有哪些“无一爱字却句句含情”的诗词?中国人比较矜持,爱你在心口难开,心中有爱,嘴上不肯说出来很多关于爱情的唐诗宋词,诗人是不用“爱”这个字的爱,本身有爱护、喜爱的意思,这也是用在诗词中最。