Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.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比较方法说明 public int比较(Map.Entry o1,Map.Entry o2){ 如果(o1.getValue()o2.getValue()){ 返回1; } 否则{ 如果(o1.getKey()_Java_Compareto - Fatal编程技术网

java比较方法说明 public int比较(Map.Entry o1,Map.Entry o2){ 如果(o1.getValue()o2.getValue()){ 返回1; } 否则{ 如果(o1.getKey()

java比较方法说明 public int比较(Map.Entry o1,Map.Entry o2){ 如果(o1.getValue()o2.getValue()){ 返回1; } 否则{ 如果(o1.getKey(),java,compareto,Java,Compareto,根据我的理解,上述两种比较方法应该给出相同的结果,但它们的行为不同 有人能帮助理解它们为什么不同吗?第一种方法不能正确处理键和值都相等的情况 第二种方法不能正确处理溢出。但它们的行为不同,如何执行?您是否执行了一些测试,如果是这样的话,是否跟踪IDE调试器中的方法?区别在哪里?你发现了什么?这些都是你在发布之前应该问自己的问题。它们不同吗?或者应该和你一样。喂吸血鬼吗?@JimGarrison是的,我为什么不呢? public int compare(Map.Entry<Intege

根据我的理解,上述两种比较方法应该给出相同的结果,但它们的行为不同


有人能帮助理解它们为什么不同吗?

第一种方法不能正确处理键和值都相等的情况


第二种方法不能正确处理溢出。

但它们的行为不同
,如何执行?您是否执行了一些测试,如果是这样的话,是否跟踪IDE调试器中的方法?区别在哪里?你发现了什么?这些都是你在发布之前应该问自己的问题。它们不同吗?或者应该和你一样。喂吸血鬼吗?@JimGarrison是的,我为什么不呢?
   public int compare(Map.Entry<Integer,Integer> o1, Map.Entry<Integer,Integer> o2){
                if(o1.getValue() < o2.getValue() ){
                    return -1;
                }
                else if(o1.getValue() > o2.getValue()){
                    return 1;
                }
                else{ 
                        if(o1.getKey() < o2.getKey()){
                            return -1;
                        }else{
                            return 1;
                        }
                }
}


public int compare(Map.Entry<Integer,Integer> o1, Map.Entry<Integer,Integer> o2){

                if(o1.getValue() == o2.getValue()){
                    return (o1.getKey() - o2.getKey()); 
                }
                else{
                    return (o2.getValue() - o1.getValue());
                }

}