public class ComparatorChain<E> extends java.lang.Object implements Chain<java.util.Comparator<E>,ComparatorChain<E>>, java.util.Comparator<E>, java.io.Serializable
| 构造器和说明 |
|---|
ComparatorChain()
构造空的比较器链,必须至少有一个比较器,否则会在compare时抛出
UnsupportedOperationException |
ComparatorChain(java.util.Comparator<E> comparator)
构造,初始化单一比较器。
|
ComparatorChain(java.util.Comparator<E> comparator,
boolean reverse)
构造,初始化单一比较器。
|
ComparatorChain(java.util.List<java.util.Comparator<E>> list)
构造,使用已有的比较器列表
|
ComparatorChain(java.util.List<java.util.Comparator<E>> list,
java.util.BitSet bits)
构造,使用已有的比较器列表和对应的BitSet
BitSet中的boolean值需与list中的 Comparator一一对应,true表示正序,false反序 |
| 限定符和类型 | 方法和说明 |
|---|---|
ComparatorChain<E> |
addChain(java.util.Comparator<E> element)
加入责任链
|
ComparatorChain<E> |
addComparator(java.util.Comparator<E> comparator)
在链的尾部添加比较器,使用正向排序
|
ComparatorChain<E> |
addComparator(java.util.Comparator<E> comparator,
boolean reverse)
在链的尾部添加比较器,使用给定排序方式
|
int |
compare(E o1,
E o2)
执行比较
按照比较器链的顺序分别比较,如果比较出相等则转向下一个比较器,否则直接返回 |
boolean |
equals(java.lang.Object object) |
int |
hashCode() |
boolean |
isLocked()
是否已经被锁定。
|
java.util.Iterator<java.util.Comparator<E>> |
iterator() |
ComparatorChain<E> |
setComparator(int index,
java.util.Comparator<E> comparator)
替换指定位置的比较器,保持原排序方式
|
ComparatorChain<E> |
setComparator(int index,
java.util.Comparator<E> comparator,
boolean reverse)
替换指定位置的比较器,替换指定排序方式
|
ComparatorChain<E> |
setForwardSort(int index)
更改指定位置的排序方式为正序
|
ComparatorChain<E> |
setReverseSort(int index)
更改指定位置的排序方式为反序
|
int |
size()
比较器链中比较器个数
|
public ComparatorChain()
UnsupportedOperationExceptionpublic ComparatorChain(java.util.Comparator<E> comparator)
comparator - 在比较器链中的第一个比较器public ComparatorChain(java.util.Comparator<E> comparator, boolean reverse)
comparator - 在比较器链中的第一个比较器reverse - 是否反序,true表示正序,false反序public ComparatorChain(java.util.List<java.util.Comparator<E>> list)
list - 比较器列表ComparatorChain(List,BitSet)public ComparatorChain(java.util.List<java.util.Comparator<E>> list, java.util.BitSet bits)
Comparator一一对应,true表示正序,false反序list - Comparator 列表bits - Comparator 列表对应的排序boolean值,true表示正序,false反序public ComparatorChain<E> addComparator(java.util.Comparator<E> comparator)
comparator - Comparator 比较器,正向public ComparatorChain<E> addComparator(java.util.Comparator<E> comparator, boolean reverse)
comparator - Comparator 比较器reverse - 是否反序,true表示正序,false反序public ComparatorChain<E> setComparator(int index, java.util.Comparator<E> comparator) throws java.lang.IndexOutOfBoundsException
index - 位置comparator - Comparatorjava.lang.IndexOutOfBoundsException - if index < 0 or index >= size()public ComparatorChain<E> setComparator(int index, java.util.Comparator<E> comparator, boolean reverse)
index - 位置comparator - Comparatorreverse - 是否反序,true表示正序,false反序public ComparatorChain<E> setForwardSort(int index)
index - 位置public ComparatorChain<E> setReverseSort(int index)
index - 位置public int size()
public boolean isLocked()
public java.util.Iterator<java.util.Comparator<E>> iterator()
iterator 在接口中 java.lang.Iterable<java.util.Comparator<E>>public ComparatorChain<E> addChain(java.util.Comparator<E> element)
ChainaddChain 在接口中 Chain<java.util.Comparator<E>,ComparatorChain<E>>element - 责任链新的环节元素public int compare(E o1, E o2) throws java.lang.UnsupportedOperationException
compare 在接口中 java.util.Comparator<E>o1 - 第一个对象o2 - 第二个对象java.lang.UnsupportedOperationException - 如果比较器链为空,无法完成比较public int hashCode()
hashCode 在类中 java.lang.Objectpublic boolean equals(java.lang.Object object)
equals 在接口中 java.util.Comparator<E>equals 在类中 java.lang.ObjectCopyright © 2018. All rights reserved.