找回密码
 会员注册
查看: 187|回复: 0

集合排序的2种方式

[复制链接]

8

主题

0

回帖

25

积分

新手上路

积分
25
发表于 2024-9-13 15:59:22 | 显示全部楼层 |阅读模式
集合排序的2种方式1、使用有序集合进行排序1.1TreeSet1.2TreeMap2、使用Collections.sort()进行排序3、总结💖TheBegin💖点点关注,收藏不迷路💖本文将介绍两种主要的集合排序方式:使用有序集合(如TreeSet或TreeMap)和使用无序集合(如List)结合Collections.sort()方法。1、使用有序集合进行排序Java中的有序集合,如TreeSet和TreeMap,会自动对添加的元素进行排序。这种排序是基于元素的自然顺序(实现了Comparable接口)或者通过提供的Comparator比较器来完成的。1.1TreeSetTreeSet是一个不包含重复元素的集合,它实现了NavigableSet接口,可以通过元素的自然顺序或者创建TreeSet时传入的Comparator进行排序。示例:importjava.util.TreeSet;publicclassTreeSetExample{publicstaticvoidmain(String[]args){TreeSetset=newTreeSet();set.add(3);set.add(1);set.add(2);//遍历TreeSet,元素将按照自然顺序排列for(Integernum:set){System.out.print(num+"");}}}123456789101112131415输出:12311.2TreeMapTreeMap是一个基于红黑树的NavigableMap实现,它根据键的自然顺序或者创建TreeMap时传入的Comparator进行排序。示例:importjava.util.TreeMap;publicclassTreeMapExample{publicstaticvoidmain(String[]args){TreeMapmap=newTreeMap();map.put("Zebra",1);map.put("Apple",2);map.put("Banana",3);//遍历TreeMap,键将按照自然顺序排列for(Stringkey:map.keySet()){System.out.println(key+"->"+map.get(key));}}}123456789101112131415输出:Apple->2Banana->3Zebra->11232、使用Collections.sort()进行排序对于无序集合,如ArrayList,我们可以使用Collections.sort()方法来进行排序。这个方法可以接收一个实现了List接口的集合,并对其进行排序。排序可以是基于元素的自然顺序(元素需要实现Comparable接口),或者通过提供一个Comparator比较器来完成。示例:importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;publicclassListSortExample{publicstaticvoidmain(String[]args){Listlist=newArrayList();list.add(3);list.add(1);list.add(2);//使用Collections.sort()进行排序Collections.sort(list);//遍历List,元素将按照自然顺序排列for(Integernum:list){System.out.print(num+"");}}}1234567891011121314151617181920输出:12313、总结Java提供了两种主要的方式来对集合进行排序:1、使用有序集合(如TreeSet和TreeMap)和使用无序集合结合Collections.sort()方法。2、有序集合在添加元素时自动进行排序,而无序集合则需要显式调用Collections.sort()方法。💖TheEnd💖点点关注,收藏不迷路💖
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-26 01:19 , Processed in 1.007469 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表