黑马程序员技术交流社区

标题: java中是不是有个方法能直接返回一个比较器的? [打印本页]

作者: panningwjr    时间: 2013-8-10 15:37
标题: java中是不是有个方法能直接返回一个比较器的?
写代码时,需要排序时,老要自己写比较器,java中是不是有个方法直接获得比较器,比如获取一个按自然顺序逆序排序的比较器
作者: xkfxm    时间: 2013-8-10 17:00
你好
在javaAPI的java.util包中有一个集合框架工具类,叫做Collections,其中的方法都是静态的。
他可以对集合对象进行操作,比如排序sort;获取最值max,查找binarySearch;替换反转replaceAll,swap等等。
还有一个特别爽的方法就是将给定的比较器对象传入,通过reverseOrder(Comparator<T> cmp),可以将比较器逆转,得到一个比较器,他强行逆转指定比较器的顺序。
还有很多其他的方法请参阅Collections类。
希望可以帮到你
作者: 崔一恒    时间: 2013-8-10 18:54
Collections工具中有一些关于集合操作的方法,挺不错。
Collections类,可以对Set、List和Map等集合进行操作的工具类,常用方法:
static void shuffle(List list):对list集合元素进行随机排序,eg:洗牌;
static void reverse(List list):反转list集合元素的顺序;
static void sort(List list,Comparator c):根据指定的比较器对list进行排序;
static void swap(List list,int i,int j):对list集合中的i处和j处元素互换;
static int binarySearch(List list,Object key):使用二分查找法找出key在list中的索引;
static Comparator<T> reverseOrder(比较器):强行逆转比较器;
static boolean replaceAll(List list , 旧对象,新对象):使用新对象替换list中所有指定的旧对象

作者: 以防万一    时间: 2013-8-13 22:16
亲,如问题已解决请将分类的未解决改为已解决。

以后的问题贴也要及时更改分类哦~


保持队形,谢谢合作




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2