我想在地图中存储具有多个值的键。
例如:我正在从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非常相似的东西,而无需依赖。

10-06 03:35