我想在地图中存储具有多个值的键。
例如:我正在从ArrayList中读取字符串,而从另一个ArrayList中读取整数。
Keys Values
humans 50
elfs 20
dwarfs 30
humans 40
elfs 10
我想像这样存储这些信息:Map >
[humans = {50,40}]
[elfs = {20,10}]
[dwarfs = {30}]
有可能这样做吗?
最佳答案
我这样做:
public class StringToListInt {
private Map<String, List<Integer>> stringToListInt;
public StringToListInt() {
stringToListInt = new HashMap<String, List<Integer>>();
}
public void addInt( String string, Integer someValue ) {
List<Integer> listInt = stringToListInt.get( string );
if ( listInt == null ) {
listInt = new ArrayList<String>();
stringToListInt.put( string, listInt );
}
listInt.add( someValue );
}
public List<Integer> getInts( String string ) {
return stringToListInt.get( string );
}
}
如果添加一些泛型,我想您最终会得到与Guava的MultiMap非常相似的东西,而无需依赖。