Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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 LinkedHashMap订单_Java_Map_Linkedhashmap - Fatal编程技术网

Java LinkedHashMap订单

Java LinkedHashMap订单,java,map,linkedhashmap,Java,Map,Linkedhashmap,在位置1和2访问地图对象时,顺序是否仍有保证 //.... public void firstMethod(){ Map<K,V> sortedMap=new LinkedHashMap<K,V>(); sortedMap.put(h,g); //.... Map<K,V> anotherMap=someOtherMethod(sortedMap); // o

在位置1和2访问地图对象时,顺序是否仍有保证

    //.... 
    public void firstMethod(){
        Map<K,V> sortedMap=new LinkedHashMap<K,V>();
        sortedMap.put(h,g);
        //....

        Map<K,V> anotherMap=someOtherMethod(sortedMap);

        // order of anotherMap when read  ...2
    }

    public Map<K,V> someOtherMethod(Map<K,V> someMap){

         someMap.put(a,b);

         //order of someMap  when read ...1
         //.....

         return someMap;

    }
    //....
/。。。。
公共方法(){
Map sortedMap=new LinkedHashMap();
分类地图放置(h,g);
//....
Map anotherMap=someOtherMethod(sortedMap);
//读取时anotherMap的顺序…2
}
公共映射someOtherMethod(映射someMap){
someMap.put(a,b);
//读取时的someMap顺序…1
//.....
返回someMap;
}
//....
根据:

哈希表和链表实现的映射接口,具有可预测的迭代顺序


因此,即使在插入和删除了一些东西之后,无论您想对其执行什么操作,顺序都应该保持不变

如果
Map
对象的具体实例是
LinkedHashMap
yes。你用它做什么并不重要。如果您强制转换为
Map
或甚至
object
或将其传递给方法,对象将保持其数据有序,并且实现不会更改。它将在内部保持一个
LinkedHashMap
。如果将它强制转换为
对象
,则可能不再看到它是一个

假设您不知道源代码,唯一不能保证的是
someOtherMethod
返回您的
LinkedHashMap
。它还可以重新订购


方法不应该被信任,除非它指定了这些东西。但是既然你知道这里的源代码,你就可以保证它是你的
LinkedHashMap

嗯,什么?你的问题有点模糊…为什么不呢
LinkedHashMap
没有做任何神奇的事情。@LouisWasserman这也许是个愚蠢的问题,我不确定将
sortedMap
转换为“Map”的效果,以及从
someOtherMethod
返回的类型是
Map
@下面Zapl的回答澄清了我的疑问。谢谢。这消除了我的疑虑。我不确定当强制转换到
Map
时会产生什么效果,即使具体类型是
LinkedHashMap