我怎样才能找到下面的地图同步

时间:2014-09-22 12:35:16

标签: java hashmap synchronization synchronized

我只是使用Collections.synchronizedMap(map);同步HashMap,然后向地图添加值,如下所示。在第二个场景中,我已经将键和值添加到地图中,然后我正在进行同步以映射对象。但我没有发现输出有任何差异。

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class SyncHashMap {
    public static void main(String[] args) {
        Map<Integer,String> map = new HashMap<Integer, String>();
        map = Collections.synchronizedMap(map);
        map.put(10, "ten");
        map.put(20, "twenty");
        map.put(30, "thirty");
        map.put(40, "forty");
        map.put(50, "fifty");

        System.out.println(map); 
    }
}

输出:

{50=fifty, 20=twenty, 40=forty, 10=ten, 30=thirty}

在另一种情况下:

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class SyncHashMap {
    public static void main(String[] args) {
        Map<Integer,String> map = new HashMap<Integer, String>();
        map.put(10, "ten");
        map.put(20, "twenty");
        map.put(30, "thirty");
        map.put(40, "forty");
        map.put(50, "fifty");
        map = Collections.synchronizedMap(map);
        System.out.println(map); 
    }
}

输出:

{50=fifty, 20=twenty, 40=forty, 10=ten, 30=thirty}

这些输出之间是否有任何差异。否则任何特定方式在使用时找到synchronizedMap方法的差异。需要一些澄清。

0 个答案:

没有答案
相关问题