时间:2021-05-20
一 创建排序器
排序器:可以用来为构建复杂的比较器,以完成集合排序的功能:
本质上来说,Ordering 实例无非就是一个特殊的Comparator 实例。
Ordering把很多基于Comparator的静态方法(如Collections.max)包装为自己的实例方法(非静态方法),
并且提供了链式调用方法,来定制和增强现有的比较器
二 扩展排序器,变换成其他功能排序器
三 使用排序器
//使用排序器 @Test public void operOrdering(){ Ordering<Comparable> natural = Ordering.natural(); List<Integer> list02 = 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); //返回不可变的排序副本 /** * isOrdered: 判断是否已经按排序器有序,元素不能少于2,允许有相等元素 * isStrictlyOrdered: 是否严格排序,不允许有相等元素 */ Collections.sort(list02,natural); natural.isOrdered(list02);//true natural.isStrictlyOrdered(list02); //false //其他直接比较元素 natural.compare(1,2);natural.max(5,6);natural.min(list02); }以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Java数组高级算法与Arrays类常见操作。分享给大家供大家参考,具体如下:冒泡排序冒泡排序原理冒泡排序代码:packagecn.itcast_
java基本算法之归并排序实例代码原理:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,*即把待排序序列分为若干个子序列,每个子序列是
本文实例讲述了java排序高级之选择排序实现方法。分享给大家供大家参考。具体如下:选择排序(Selectionsort)是一种简单直观的排序算法。它的工作原理如
Caffeine和SpringBoot集成Caffeine是使用Java8对Guava缓存的重写版本,在SpringBoot2.0中将取代Guava。如果出现C
java算法之快速排序实现代码摘要:常用算法之一的快速排序算法的java实现原理:选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列