我正在使用drools工作台,但我在设置hashmap时遇到问题。我想避免添加一个方法只是为了向地图添加值,所以我试图找到一个解决方法。
当我需要设置我使用的列表的值时:
setList(Arrays.asList("string one", "string two", ...));
我想知道这种方法是否存在哈希映射。
答案 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");