码迷,mamicode.com
首页 > 其他好文 > 详细

Collection集合工具类

时间:2021-07-19 16:42:35      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:返回结果   boolean   compareto   排序规则   cti   需要   直接   第三方   void   

Ⅷ、Collections 工具类
java.util.Collections
Collections 集合工具类,用来对集合进行操作,部分重要方法如下:
1.public static <T> boolean addAll(Collection<T> c,T... elements); 往集合中添加一些元素
2.public static void shuffle(List<?> list); 打乱集合中元素的顺序
3.public static <T> void sort(List<T> list); 将集合中元素按照默认规则排序。 //默认规则一般都是升序排序
4.public static <T> void sort(List<T> list,Comparator<? super T>); 将集合中元素按照指定规则排序。
 
注意:
sort(List<T> list)使用前提:
被排序的集合里边存储的元素,必须实现Comparable 接口,重写接口中的方法 public int compareTo(T o) 定义排序的规则
所以传递的是自定义的数据类型,就必须重写compareTo方法。
Comparable接口的排序规则:
自己(this)-参数 ????升序
 
Comparable 与 Comparator 的区别:
Comparable:自己(this)和别人(参数)的比较,自己需要实现Comparable 接口,重写compareTo 方法
Comparator:相当于找一个第三方的裁判,比较两个。实际使用的时候可以直接使用它的匿名内部类,重写方法:
public int compare(T o1,T o2); //o1-o2 升序排序; o2-o1 降序排序
重写时可以写多个规则:
结果=第一规则的比较
如果结果==0;则结果=第二规则的比较
返回结果。
注:结果都是int类型。
 
Comparable 与 Comparator 的区别:(教材版)
1.Comparable:强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的compareTo方法被称为它的自然比较
方法。只能在类中实现CompareTo()一次,不能经常修改类的代码实现自己想要的排序。实现此接口的对象列表(和数组)
可以通过Collections.sort (和Arrays.sort)进行自动排序,对象可以用作有序映射中的键或有序集合中的元素,
无需指定比较器。
2.Comparator:强行对某个对象进行整体排序。可以将Comparator传递给sort方法(如Collections.sort或Arrays.sort),从而
允许在排序顺序上实现精确控制。还可以使用Comparator来控制某些数据结构(如有序set或有序映射)的顺序,或者为
那些没有自然顺序的对象collection提供排序。

Collection集合工具类

标签:返回结果   boolean   compareto   排序规则   cti   需要   直接   第三方   void   

原文地址:https://www.cnblogs.com/shuijiu/p/15025449.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有
迷上了代码!