Ordering<T>(流式比较器)
Creation静态工厂方法以此来生成一个Ordering对象
- natural() 泛型T需继承自comparable接口,使用T自身的比较方法来比较
- usingToString() 调用对象的toString方法,然后使用String的比较方法来比较
- from( Comparator< T > comparator ) 利用comparator来创建实例
- explicit( List< T > valuesInOrder ) 按照valuesInOrder列表中的顺序进行排序。valuesInOrder中不允许存在null。当比较时,参与比较的元素若 不存在valuesInOrder时将会抛出异常
- allEqual() 视所有元素都相等
- compound( Iterable<? extends Comparator <? super T >> 利用多个比较器来组成一个组合比较器,比较优先级根据迭代器的顺序
chaining链式方法,该系列方法是对调用该方法的Ordering对象的封装,后面的方法封装前一个Ordering对象组成一个新的Ordering对象
- reverse() 反向排序
- nullsFirst() 空值排前面
- nullsLast() 空值排后面
- compound(Comparator) 加入次要比较器
- lexicographical() 这是返回一个对两个迭代器的比较
- onResultOf(Function) 使用函数映射后的结果来进行比较
根据比较器的规则计算结果值
- min() 取得最小值
- max() 取得最大值
- leastOf(iterable, int k) 取得最小的k个值
- greatestOf(iterable, int k) 取得最大的k个值
- sortedCopy 返回一个可编辑的排过序的副本List
- immutableSortedCopy 返回一个不可编辑的排过序的副本List
- isOrdered 判断是否已经过排序
- isStrictlyOrdered 判断是否已经过排序,没有等于这种情况,总是能比出大小