Guava:Ordering
java guava    2018-08-31 23:50:34    0    0    0
cqc   java guava
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 判断是否已经过排序,没有等于这种情况,总是能比出大小
 

上一篇: Guava:MoreObjects

下一篇: Guava:Optional

文档导航