为什么这两个代码片段会产生相同的结果?

用户名

我正在看一堆类似这样的代码,并用来Comparator<T>对字符串数组进行排序(我问这个问题的唯一原因是我很好奇如何Comparator<T>处理所有这些问题):

 String[] names = //An string array

 Arrays.sort(names, new Comparator<String>() {
        @Override
        public int compare(String o1, String o2) {
            return (o1.length()-o2.length());
        }
    });

我对此很熟悉:

Arrays.sort(names, new Comparator<String>() {
        @Override
        public int compare(String o1, String o2) {
            if(o1.length()>o2.length())
                return 1;
            else if(o1.length()==o2.length())
                return 0;
            else
                return -1;
        }
    });

如果第一个String的长度较大,则由后者处理,则返回1;如果第二个String的长度相同,则返回-1;如果它们的长度相同,则返回0。但是第一个代码段返回的长度之差可能小于-1且大于1。那么如何Comparator<T>处理所有这些以得到相同的结果呢?

sp00m

https://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html#compare(T,%20T)

返回:当第一个参数小于,等于或大于第二个参数时,为负整数,零或正整数

它不必是-1或1,而只需是一个负整数或一个正整数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么这两个代码片段会产生相同的结果?

来自分类Dev

正则表达式 - 为什么这两个表达式不会产生相同的结果?

来自分类Dev

为什么这两个代码片段会产生不同的价值?

来自分类Dev

为什么这两个代码片段会产生不同的价值?

来自分类Dev

为什么这两个C语句都产生相同的输出

来自分类Dev

为什么这两个代码给出的结果相同?

来自分类Dev

为什么这两个代码段会产生不同的图?

来自分类Dev

为什么两个看似相同的变量会产生两个不同的结果?

来自分类Dev

函数的两个版本未产生相同的结果

来自分类Dev

为什么这两个python正则表达式产生不同的结果?

来自分类Dev

这两个代码片段有什么作用

来自分类Dev

为什么这两个FParsec片段不同?

来自分类Dev

为什么这两个版本的高阶函数没有给出相同的结果?

来自分类Dev

两个理论上相同的代码不会产生相同的输出

来自分类Dev

为什么Scala编译器会不同地对待这两个代码块?

来自分类Dev

R:为什么对于相同的点,来自两个不同软件的这两个不同的结果(拟合曲线)?

来自分类Dev

为什么这两个代码段给出不同的结果

来自分类Dev

两个规则在mod_rewrite中产生相同的结果

来自分类Dev

为什么这两个指针访问相同的元素?

来自分类Dev

为什么这两个指针访问相同的元素?

来自分类Dev

为什么这两个对象的 id 相同?

来自分类Dev

为什么这两个“ cat”命令的结果不同?

来自分类Dev

为什么这两个函数的结果不同?

来自分类Dev

为什么这两个代码给出不同的输出

来自分类Dev

为什么这两个查询具有相同的“已处理的GB”(并因此产生了成本)?

来自分类Dev

为什么两个相同值的按位与运算会产生不同的值?

来自分类Dev

为什么使用相同种子创建的两个Random对象从hashcode()产生不同的结果

来自分类Dev

为什么我在React JS中的代码会进入无限循环,同时满足这两个条件?

来自分类Dev

为什么对两个相同的列表进行运算会导致不同的结果?

Related 相关文章

  1. 1

    为什么这两个代码片段会产生相同的结果?

  2. 2

    正则表达式 - 为什么这两个表达式不会产生相同的结果?

  3. 3

    为什么这两个代码片段会产生不同的价值?

  4. 4

    为什么这两个代码片段会产生不同的价值?

  5. 5

    为什么这两个C语句都产生相同的输出

  6. 6

    为什么这两个代码给出的结果相同?

  7. 7

    为什么这两个代码段会产生不同的图?

  8. 8

    为什么两个看似相同的变量会产生两个不同的结果?

  9. 9

    函数的两个版本未产生相同的结果

  10. 10

    为什么这两个python正则表达式产生不同的结果?

  11. 11

    这两个代码片段有什么作用

  12. 12

    为什么这两个FParsec片段不同?

  13. 13

    为什么这两个版本的高阶函数没有给出相同的结果?

  14. 14

    两个理论上相同的代码不会产生相同的输出

  15. 15

    为什么Scala编译器会不同地对待这两个代码块?

  16. 16

    R:为什么对于相同的点,来自两个不同软件的这两个不同的结果(拟合曲线)?

  17. 17

    为什么这两个代码段给出不同的结果

  18. 18

    两个规则在mod_rewrite中产生相同的结果

  19. 19

    为什么这两个指针访问相同的元素?

  20. 20

    为什么这两个指针访问相同的元素?

  21. 21

    为什么这两个对象的 id 相同?

  22. 22

    为什么这两个“ cat”命令的结果不同?

  23. 23

    为什么这两个函数的结果不同?

  24. 24

    为什么这两个代码给出不同的输出

  25. 25

    为什么这两个查询具有相同的“已处理的GB”(并因此产生了成本)?

  26. 26

    为什么两个相同值的按位与运算会产生不同的值?

  27. 27

    为什么使用相同种子创建的两个Random对象从hashcode()产生不同的结果

  28. 28

    为什么我在React JS中的代码会进入无限循环,同时满足这两个条件?

  29. 29

    为什么对两个相同的列表进行运算会导致不同的结果?

热门标签

归档