Java 具有添加效果的ConcurrentHashMap

Java 具有添加效果的ConcurrentHashMap,java,Java,我刚刚尝试使用ConcurrentHashMap获得添加效果,但是元素顺序是混合的。 代码就像一个 ConcurrentHashMap<String,String>h=new ConcurrentHashMap<String,String>(); for(int i=0; i<10; i++) { h.put(""+Math.random(), ""+i); }

我刚刚尝试使用
ConcurrentHashMap
获得添加效果,但是元素顺序是混合的。 代码就像一个

ConcurrentHashMap<String,String>h=new ConcurrentHashMap<String,String>();

        for(int i=0; i<10; i++)
        {           
            h.put(""+Math.random(), ""+i);

        }

        Iterator<String> iterator=h.values().iterator();
        while(iterator.hasNext())
        {
            System.out.println(iterator.next());
        }
。。。所以我的问题是

如果键是某个随机字符串,ConcurrentHashMap是否有办法获得原始元素的顺序

谢谢使用它将保留插入顺序

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

和使用

Collections.synchronizedMap(mapInstance)

Map-Map=Collections.synchronizedMap(新LinkedHashMap());
保持插入顺序

哈希表和链表实现的映射接口,具有可预测的迭代顺序。此实现与HashMap的不同之处在于,它维护一个贯穿其所有条目的双链接列表。此链表定义了迭代顺序,通常是将关键帧插入贴图的顺序(插入顺序)。请注意,如果将键重新插入地图,则插入顺序不受影响


使用ConcurrentHashMap有什么原因吗?你打算从多个线程同时使用它吗?你把double和integer放进一个映射中还有什么原因吗?@amit你是对的。我对多线程很感兴趣抱歉,我没有完全理解你,你想用HashMap保持秩序吗?@JigarJoshi:他正在寻找一个并发的安全实现
LinkedHashMap
没有提供它。@Jigar Joshi感谢您的回复。我想用ConcurrentHashMap维持秩序。使用整数(迭代)键进行测试会得到肯定的结果,但随机字符串键会给出混合顺序。所以我想知道是否还有其他最佳方法?你的意思是我不必使用ConcurrentHashMap,而是使用LinkedHashMap+同步映射组合?你能给我看一些片段吗?
Collections.synchronizedMap(mapInstance)
 Map<K,V> map = Collections.synchronizedMap(new LinkedHashMap());