Java番石榴使用顺序排序器的方法

  介绍

这期内容当中小编将会给大家带来有关Java番石榴使用顺序排序器的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

<强>一创建排序器

排序器:可以用来为构建复杂的比较器,以完成集合排序的功能:

本质上来说,订购实例无非就是一个特殊的比较器实例。

命令把很多基于比较器的静态方法(如集合。max)包装为自己的实例方法(非静态方法),

并且提供了链式调用方法,来定制和增强现有的比较器

//创建排序器   @Test   公共空间createOreing () {//对可排序类型做自然排序,如数字按大小,日期按先后排序   Ordering自然=Ordering.natural ();//按对象的字符串形式做字典排序   Ordering.usingToString ();//把给定的比较器转化为排序器或者继承订购实现自定义排序器   Ordering从=Ordering.from((整数x, y整数)→Ints.compare (x, y));   System.out.println(从。马克斯(5、6));   }

<强>二扩展排序器,变换成其他功能排序器

//衍生其他排序器   @Test   公共空间anotherOreing () {   Ordering自然=Ordering.natural ();   自然。马克斯(1、2);//2//获取语义相反的排序器   natural.reverse ()。马克斯(1、2);//1   List=名单列表。newArrayList(4) 5、9、3、7日;   Collections.sort(列表,natural.nullsFirst ());//使用排序器对集合排序   list.forEach (x→System.out.print (x +“、“));//3、4、5、7、9//不使用这两个排序器,排序元素不能为null,否则会报空指针   natural.nullsFirst();//使用当前排序器,并把null值排到最前   natural.nullsLast();//使用当前排序器,并把null值排到最后      natural.compound(自然);//合成另一个比较器,以处理当前排序器中的相等情况,即添加第二个比较器//onResultOf:将函数应用在各个元素上之后,在使用原始点进行排序   Collections.sort(列表,natural.onResultOf (→x *(1)));//元素变为负数再排序   list.forEach (x→System.out.print (x +“、“));//9、7、5、4、3   }

<强>三使用排序器

//使用排序器   @Test   公共空间operOrdering () {   Ordering自然=Ordering.natural ();   Listlist02=Lists.newArrayList (6 4 9、3、1、5、3);/* *   * greatestOf:获取可迭代对象中最大的k个元素,并按从大到小排的序,返回一个集合   * leastOfL获取最小的几个,并按从小到大排的序   */natural.greatestOf (list02 1) .forEach (x)→System.out.println (x));//9   natural.leastOf (list02 1) .forEach (x)→System.out.println (x));//1//返回集合的一个排好序的副本   natural.sortedCopy (list02);   natural.immutableSortedCopy (list02);//返回不可变的排序副本/* *   *残疾:判断是否已经按排序器有序,元素不能少于2,允许有相等元素   * isStrictlyOrdered:是否严格排序,不允许有相等元素   */Collections.sort (list02、自然);   natural.isOrdered (list02);//真实的   natural.isStrictlyOrdered (list02);//错误//其他直接比较元素   natural.compare (1、2); natural.max (5、6); natural.min (list02);   }

上述就是小编为大家分享的Java番石榴使用顺序排序器的方法了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

Java番石榴使用顺序排序器的方法