AdSense

網頁

2018/6/28

Java 如何直接建立帶有key value值的Map物件

在Java 常用Map物件來傳遞參數,而一般建立一個key value的Map物件的方式如下

Map<String, Object> map = new HashMap<String, Object>();
map.put(key, value);

但經常要傳遞的值只有一個,而上面的寫法就覺得有點麻煩,Java沒辦法像JavaScript直接寫成

var obj = {key:value};

直到今天才知道原來有建立只有一個元素的Map的快速方法Collections.singletonMap()如下

Map map = Collections.singletonMap(key, value);

注意這個方法回傳的Map是immutable的,也就是不可以修改,否則會出現UnsupportedOperationException例外。

但這個方法只能建立只有一個元素的Map,如果要建立多個元素,則Guava套件提供了ImmutableMap.of方法。

ImmutableMap<String, Integer> map = ImmutableMap.of(  
    "1", 1,  
    "2", 2,  
    "3", 3  
);  


沒有留言:

AdSense