jjzjj

Comparator

全部标签

java - 用于在 Java 8 Stream 中排序的空安全日期比较器

我正在使用它来获取最新项目。我怎样才能使它成为空安全并使用空日期最后(最旧)进行排序。createDt是一个jodaLocalDate对象。OptionallatestItem=items.stream().sorted((e1,e2)->e2.getCreateDt().compareTo(e1.getCreateDt())).findFirst(); 最佳答案 如果Item可能为null,请使用@rgettman的解决方案。如果LocalDate可能为null,请使用:items.stream().sorted(Comparat

Java入门8(Comparator比较器,HashMap)

comparator比较器​ Comparator不同于Comparable,使用更加的灵活,可以在不同场景下使用比较器,实际开发中,更推荐comparator比较器//新建一个学生类,作为栗子publicclassStudent{privateintsno;privatefloatheight;privatefloatweight;}//单独定义一个比较器类StudentHeightComparator,实现了Comparator接口里面的compare方法publicclassStudentHeightComparatorimplementsComparator{@Overridepubl

java - FunctionalInterface Comparator 有 2 个抽象方法

学习Java8Lambda,只是想知道编译器如何知道Comparator中的哪个方法用于lambda表达式?好像不是SAM接口(interface)?它有2个抽象方法:@FunctionalInterfacepublicinterfaceComparator{intcompare(To1,To2);booleanequals(Objectobj);} 最佳答案 equals()不是抽象方法。这个方法覆盖了Object.equals(Object),并且只有Comparator接口(interface)能够将javadoc附加到方法上

java - FunctionalInterface Comparator 有 2 个抽象方法

学习Java8Lambda,只是想知道编译器如何知道Comparator中的哪个方法用于lambda表达式?好像不是SAM接口(interface)?它有2个抽象方法:@FunctionalInterfacepublicinterfaceComparator{intcompare(To1,To2);booleanequals(Objectobj);} 最佳答案 equals()不是抽象方法。这个方法覆盖了Object.equals(Object),并且只有Comparator接口(interface)能够将javadoc附加到方法上

Java Comparator 类对数组进行排序

假设,我们有以下二维数组:intcamels[][]=newint[n][2];应如何声明JavaComparator类以使用Arrays.sort(camels,comparator)按数组的第一个元素以降序对数组进行排序?compare函数供引用:@Overridepublicintcompare(int[]a,int[]b){returnb[0]-a[0];} 最佳答案 [...]HowshouldJavaComparatorclassbedeclaredtosortthearraysbytheirfirstelementsi

Java Comparator 类对数组进行排序

假设,我们有以下二维数组:intcamels[][]=newint[n][2];应如何声明JavaComparator类以使用Arrays.sort(camels,comparator)按数组的第一个元素以降序对数组进行排序?compare函数供引用:@Overridepublicintcompare(int[]a,int[]b){returnb[0]-a[0];} 最佳答案 [...]HowshouldJavaComparatorclassbedeclaredtosortthearraysbytheirfirstelementsi

java - 关于 null 的 Comparable 和 Comparator 契约(Contract)

Comparable合约规定e.compareTo(null)必须抛出NullPointerException。来自theAPI:Notethatnullisnotaninstanceofanyclass,ande.compareTo(null)shouldthrowaNullPointerExceptioneventhoughe.equals(null)returnsfalse.另一方面,ComparatorAPI没有提到比较null时需要发生什么。考虑以下尝试使用Comparable并为其返回将null作为最小元素的Comparator的通用方法。static>Comparator

java - 关于 null 的 Comparable 和 Comparator 契约(Contract)

Comparable合约规定e.compareTo(null)必须抛出NullPointerException。来自theAPI:Notethatnullisnotaninstanceofanyclass,ande.compareTo(null)shouldthrowaNullPointerExceptioneventhoughe.equals(null)returnsfalse.另一方面,ComparatorAPI没有提到比较null时需要发生什么。考虑以下尝试使用Comparable并为其返回将null作为最小元素的Comparator的通用方法。static>Comparator

java - double 型比较器

我写了以下代码:publicclassNewClass2implementsComparator{publicintcompare(Pointp1,Pointp2){return(int)(p1.getY()-p2.getY());}}如果我假设有两个双数,3.2-3.1,那么差值应该是0.1。但是,当我将数字转换为int时,差异最终为0,这是不正确的。因此我需要compare()来返回一个double值,而不是一个整数值。问题是,我的getX字段是double的。我该如何解决这个问题? 最佳答案 我建议你使用内置方法Double.

java - double 型比较器

我写了以下代码:publicclassNewClass2implementsComparator{publicintcompare(Pointp1,Pointp2){return(int)(p1.getY()-p2.getY());}}如果我假设有两个双数,3.2-3.1,那么差值应该是0.1。但是,当我将数字转换为int时,差异最终为0,这是不正确的。因此我需要compare()来返回一个double值,而不是一个整数值。问题是,我的getX字段是double的。我该如何解决这个问题? 最佳答案 我建议你使用内置方法Double.