在前几个章节中使用了Comparable作为比较函数。比如对于字符串,就是按字母表的顺序进行排序。有时候想要换一种比较方式,该怎么实现呢?
在Java中可以使用Comparator比较器,以下代码展示了字符串之间不同的比较方式。
String[] a;
...
Arrays.sort();
...
Arrays.sort(a, String.CASE_INSENSITI...
分类:
其他好文 时间:
2014-06-08 15:37:08
阅读次数:
201
java的比较器有两类,分别是Comparable接口和Comparator接口。在为对象数组进行排序时,比较器的作用非常明显,首先来讲解Comparable接口。让需要进行排序的对象实现Comparable接口,重写其中的compareTo(T
o)方法,在其中定义排序规则,那么就可以直接调用ja...
分类:
编程语言 时间:
2014-06-03 05:47:17
阅读次数:
332
1 import java.util.Arrays; 2 import
java.util.Comparator; 3 4 class ResStrSort{ 5 public static void main(String[]
args) { 6 String strs...
分类:
其他好文 时间:
2014-05-16 05:43:09
阅读次数:
260
今天写的一个程序中需要对一个List进行排序,突然发现自己对这个问题一无所知,于是查阅资料并进行测试,在此做个记录。Collections工具类中有两个方法可以对List进行排序,分别为:public
static > void sort(List list)public static void ....
分类:
编程语言 时间:
2014-05-07 00:57:29
阅读次数:
345
1 Arrays.sort(points, new comparator());2 3
public static class comparator implements Comparator {4 public int compare(Point
p1, Point p2) {5 ...
分类:
编程语言 时间:
2014-05-05 23:32:10
阅读次数:
444
TreeSet.add()方法一细节
最近在一次使用TreeSet.add()方法中遇到了一个很迷惑的问题:往一个TreeSet集合中添加几个对象的时候发现有些没有添加进去,一开始是怀疑hashcode与equals的问题,因为Set集合是不允许添加两个相同对象的,但经查检确认没有问题,几经测试发现是传入的Comporator对象引起的(即使用的是TreeSet(Comparator<...
分类:
其他好文 时间:
2014-04-30 22:17:38
阅读次数:
366
对于没有排序功能的集合来说,都可以使用java.util.Collections.sort()方法进行排序,它除了集合对象以外,还需要提供一个比较器。如果列表中的元素全部都是相同的类型,并且这个类实现了Comparable接口,就可以简单的调用Collections.sort()方法,如果这个类没有实现comparable接口,那么可以创建一个比较器传递一个Comparator实例作为Sort()...
分类:
其他好文 时间:
2014-04-27 19:03:01
阅读次数:
491