如何在Java中创建字典?

Bar*_*Owl 2 java collections dictionary

我很好奇如何在Java中创建字典.我知道Python有一个类似的字典设置dictionary = {"key": "something"}.我知道在Java中还有其他方法可以做到这一点,例如创建两个同步列表并在每个列表中使用相同的位置来模拟字典.

ArrayList<Object> keys = new ArrayList<Object>();
ArrayList<Object> values = new ArrayList<Object>();
public void add(Object key, Object value){
    keys.add(key);
    values.add(value);
}
// And a subsequent return function
public Object getValue(Object key) {
    return values.get(keys.indexOf(key));
}
Run Code Online (Sandbox Code Playgroud)

然而,这对我来说很糟糕.使用单个语句是否有更简单的语法?已经问过关于这个问题的大多数问题都是关闭的,因此没什么帮助.

jh3*_*314 9

Java使用HashMaps而不是字典.

其他一些地图包括TreeMap.不同之处在于后端(一个使用哈希表,另一个使用红黑树)

例:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
....

Map<String,String> mMap = new HashMap<String, String>();
mMap.put("key", "something");
Iterator iter = mMap.entrySet().iterator();
while (iter.hasNext()) {
    Map.Entry mEntry = (Map.Entry) iter.next();
    System.out.println(mEntry.getKey() + " : " + mEntry.getValue());
}
Run Code Online (Sandbox Code Playgroud)