[b][size=medium][color=darkred]Comparator组:[/color][/size][/b]
[quote]ReverseComparator
ComparatorChain
NullComparator
FixedOrderComparator
ComparatorUtils
[/quote]
[b]Commons Collections[/b]扩展了java.util.Comparator接口.
这个[b]java.util.Comparator[/b]接口定义如下核心方法:
传给它两个对象,它要告诉我们这两个对象哪一个在特定的语义下更“大”,或者两者相等。如果arg0 > arg1,返回大于0的整数;如果arg0 = arg1,返回0;如果arg0 < arg2,返回小于0的整数。
看看[b]Commons Collections[/b](在org.apache.commons.collections.comparators包下面)提供了哪些Comparator的实现类:
[quote][b]BooleanComparator[/b] – 用于排序一组Boolean对象,指明先true还是先false;
[b]ComparableComparator[/b] – 用于排序实现了java.lang.Comparable接口的对象(我们常用的Java类如String、Integer、Date、Double、File、Character等等都实现了Comparable接口);
[b]ComparatorChain[/b] – 定义一组Comparator链,链中的Comparator对象会被依次执行;
[b]FixedOrderComparator[/b] – 用于定义一个特殊的顺序,对一组对象按照这样的自定义顺序进行排序;
[b]NullComparator[/b] – 让null值也可参与比较,可以设定为先null或者后null;
[b]ReverseComparator[/b] – 将原有的Comparator效果反转;
[b]TransformingComparator[/b] – 将一个Comparator装饰为具有Transformer效果的Comparator。
[/quote]
以上除了[b]ComparatorChain[/b]之外,似乎都是实现一些很基本的比较方法,但是当用[b]ComparatorChain[/b]将一组Comparator串起来之后,就可以实现非常灵活的比较操作。
[quote]ReverseComparator
ComparatorChain
NullComparator
FixedOrderComparator
ComparatorUtils
[/quote]
[b]Commons Collections[/b]扩展了java.util.Comparator接口.
这个[b]java.util.Comparator[/b]接口定义如下核心方法:
public int compare(Object arg0, Object arg1)
传给它两个对象,它要告诉我们这两个对象哪一个在特定的语义下更“大”,或者两者相等。如果arg0 > arg1,返回大于0的整数;如果arg0 = arg1,返回0;如果arg0 < arg2,返回小于0的整数。
看看[b]Commons Collections[/b](在org.apache.commons.collections.comparators包下面)提供了哪些Comparator的实现类:
[quote][b]BooleanComparator[/b] – 用于排序一组Boolean对象,指明先true还是先false;
[b]ComparableComparator[/b] – 用于排序实现了java.lang.Comparable接口的对象(我们常用的Java类如String、Integer、Date、Double、File、Character等等都实现了Comparable接口);
[b]ComparatorChain[/b] – 定义一组Comparator链,链中的Comparator对象会被依次执行;
[b]FixedOrderComparator[/b] – 用于定义一个特殊的顺序,对一组对象按照这样的自定义顺序进行排序;
[b]NullComparator[/b] – 让null值也可参与比较,可以设定为先null或者后null;
[b]ReverseComparator[/b] – 将原有的Comparator效果反转;
[b]TransformingComparator[/b] – 将一个Comparator装饰为具有Transformer效果的Comparator。
[/quote]
以上除了[b]ComparatorChain[/b]之外,似乎都是实现一些很基本的比较方法,但是当用[b]ComparatorChain[/b]将一组Comparator串起来之后,就可以实现非常灵活的比较操作。