Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解释这个比较器?_Java_Comparator - Fatal编程技术网

Java 解释这个比较器?

Java 解释这个比较器?,java,comparator,Java,Comparator,我知道int maxLength返回列表中最长单词的长度,但我认为return arg0.length()-arg1.length()应该返回类似于-10或1的内容。那么,这些值最后是如何设置为.length()的呢 int maxLength = Collections.max(lst, new Comparator<String>() { //get length of longest word using Collections.max comparator

我知道
int maxLength
返回列表中最长单词的长度,但我认为
return arg0.length()-arg1.length()
应该返回类似于
-1
0
1
的内容。那么,这些值最后是如何设置为
.length()
的呢

 int maxLength = Collections.max(lst, new Comparator<String>() { //get length of longest word using Collections.max comparator
            @Override
            public int compare(String arg0, String arg1) {
                return arg0.length() - arg1.length();
            }
        }).length();
int maxLength=Collections.max(lst,new Comparator(){//使用Collections.max Comparator获取最长单词的长度
@凌驾
公共整数比较(字符串arg0、字符串arg1){
返回arg0.length()-arg1.length();
}
}).长度();
这个

将返回一个整数,表示arg0与arg1的比较方式,如果为0,则两者在此逻辑比较中相等;如果为-x,则arg1比arg1大x;如果为x,则arg0比arg1大x

你能解释一下.length()部分吗?如何将1设置为结尾处的.length()法特朗

这种说法类似于

String longestString = Collections.max(lst, new Comparator<String>() { //get length of longest word using Collections.max comparator
            @Override
            public int compare(String arg0, String arg1) {
                return arg0.length() - arg1.length();
            }
        });

int maxLength = longestString.length();
String longestString=Collections.max(lst,new Comparator(){//使用Collections.max Comparator获取最长单词的长度
@凌驾
公共整数比较(字符串arg0、字符串arg1){
返回arg0.length()-arg1.length();
}
});
int maxLength=longestString.length();
这个

将返回一个整数,表示arg0与arg1的比较方式,如果为0,则两者在此逻辑比较中相等;如果为-x,则arg1比arg1大x;如果为x,则arg0比arg1大x

你能解释一下.length()部分吗?如何将1设置为结尾处的.length()法特朗

这种说法类似于

String longestString = Collections.max(lst, new Comparator<String>() { //get length of longest word using Collections.max comparator
            @Override
            public int compare(String arg0, String arg1) {
                return arg0.length() - arg1.length();
            }
        });

int maxLength = longestString.length();
String longestString=Collections.max(lst,new Comparator(){//使用Collections.max Comparator获取最长单词的长度
@凌驾
公共整数比较(字符串arg0、字符串arg1){
返回arg0.length()-arg1.length();
}
});
int maxLength=longestString.length();

返回arg0.length()-arg1.length();
如果arg0较长,则返回正数;如果长度相等,则返回0;如果arg1较长,则返回负数。返回的值除了是正的还是负的(或零)之外并不重要,因此超出该值的实际值将被忽略。例如,返回值-50被视为与-1相同

返回arg0.length()-arg1.length();

如果arg0较长,则返回正数;如果长度相等,则返回0;如果arg1较长,则返回负数。返回的值除了是正的还是负的(或零)之外并不重要,因此超出该值的实际值将被忽略。例如,返回值-50被视为与-1相同。

比较器提供了一种比较两个元素的方法

从:

公共静态T最大值(收集coll、比较器comp)
根据指定比较器产生的顺序,返回给定集合的最大元素。集合中的所有元素都必须通过指定的比较器相互比较(即comp.compare(e1,e2)不能为集合中的任何元素e1和e2抛出ClassCastException)


这将产生一个字符串(在
lst
集合中具有最长的字符串长度)。max(…).length()
将返回其长度。

比较器提供了一种比较两个元素的方法

从:

公共静态T最大值(收集coll、比较器comp)
根据指定比较器产生的顺序,返回给定集合的最大元素。集合中的所有元素都必须通过指定的比较器相互比较(即comp.compare(e1,e2)不能为集合中的任何元素e1和e2抛出ClassCastException)


这将导致一个字符串(在
lst
集合中具有最长的字符串长度)。max(…).length()
将返回其长度。

“返回arg0.length()-arg1.length();应返回类似于-10或1”的值。我不知道您在何处做出此假设。文档清楚地说:“比较它的两个参数的顺序。当第一个参数小于、等于或大于第二个参数时,返回一个负整数、零或正整数。”因此,如果它们被视为相等,则值为0,否则可以使用负值或正值。“返回arg0.length()-arg1.length();应该返回-10或1“我不知道您是在哪里做出此假设的。文档清楚地说:“比较它的两个参数的顺序。当第一个参数小于、等于或大于第二个参数时,返回一个负整数、零或正整数。”因此,如果它们被视为相等,则值为0,否则负值或正值也可以。您能解释一下
.length()
部分吗?如何在末尾将
1
设置为
.length()
。对不起,我对这个不太熟悉。你能解释一下
.length()
部分吗?如何在末尾将
1
设置为
.length()
。对不起,我对这个不太熟悉