设置hashMap的值

时间:2016-09-09 08:46:41

标签: java hashmap

我正在使用drools工作台,但我在设置hashmap时遇到问题。我想避免添加一个方法只是为了向地图添加值,所以我试图找到一个解决方法。

当我需要设置我使用的列表的值时:

setList(Arrays.asList("string one", "string two", ...));

我想知道这种方法是否存在哈希映射。

2 个答案:

答案 0 :(得分:0)

如果您打算使用Map,那么您肯定应该将数据存储在(Key,Value)对中。现在,在HashMap中,您有两种存储数据的方法,

 1. put(Object any) - This method takes single object. 
 2. putAll(Map otherMap) - This method takes some other map, and will add all the elements of that map to yours one.

所以如果这些方法不适合你,那么我认为你应该编写自己的方法来添加值。也许你可以写如下。

class DroolMap<K,V> extends HashMap<K,V> {

    public DroolMap() {
        super();
    }
    public DroolMap(int size) {
        super(size);
    }

    public DroolMap<K, V> add(K key, V value) {
        this.put(key, value);
        return this;
    }
}

class TestDroolMap {
    public void testDroolMap() {
        DroolMap<String, String> droolMap = new DroolMap<String, String>();
         // You can add as many <Key, Value> pairs in one line
        droolMap.add("k1", "v1").add("k2", "v2").add("k3", "v3");
    }
}

答案 1 :(得分:0)

如果您被允许使用第三方库,您可以使用Guava的ImmutableMap

Map<String, String> test = ImmutableMap.of("k1", "v1", "k2", "v2");