用到的方法是在java.util包下的Collections类;
先说一下Collection和Collections的区别:
Collections是个java.util 下的类,它包含有各种有关集合操作的静态方法。
Collections是个java.util 下的类,它包含有各种有关集合操作的静态方法。
Collection是java.util下的接口,它是各种集合结构的父接口。
Collections.sort一共提供了两种方法
1.sort<List<T> list>
根据元素的 自然顺序 对指定列表按升序进行排序;
根据元素的 自然顺序 对指定列表按升序进行排序;
2.sort<List<T> list,Comparator<? super T>c>
根据指定比较器产生的顺序对指定列表进行排序。
link.add(10);
link.add(35);
link.add(23);
link.add(54);
link.add(36);
Collections.sort(link);
System.out.println(link);//10, 23, 35, 36, 54
Comparator cmp = Collections.reverseOrder();
Collections.sort(link, cmp);
System.out.println(link);//54, 36, 35, 23, 10
实现逆序输出集合还用到了Collections.reverseOrder()作用是
返回一个比较器,它强行逆转实现了
Comparable
接口的对象 collection 的
自然顺序
。
程序中还用到了Comparator
Comparetr
强行对某个对象 collection 进行
整体排序
的比较函数。可以将 Comparator 传递给 sort 方法(如
Collections.sort
或
Arrays.sort
),从而允许在排序顺序上实现精确控制。还可以使用 Comparator 来控制某些数据结构(如有序 set
或有序映射
)的顺序,或者为那些没有自然顺序
的对象 collection 提供排序。