Java HashMap:添加到arraylist

时间:2011-12-02 19:49:55

标签: java hashmap

我正在使用HashMap类,它看起来像这样:

HashMap<String, ArrayList<String>> fileRank = new HashMap<String, ArrayList<String>>();

我想知道如何在初始放置后将新String添加到Arraylist中。

fileRank.put(word, file1);

我想将file1之后的file2添加到密钥:来自上面的单词。

5 个答案:

答案 0 :(得分:5)

你必须首先获得数组列表:

ArrayList<String> list = fileRank.get(word);
list.add(file1);

当然,如果您不知道该密钥是否有条目,它会变得更复杂。

ArrayList<String> list = fileRank.get(word);
if (list == null) {
    list = new ArrayList<String>();
    fileRank.put(word, list);
}
list.add(file1);

答案 1 :(得分:3)

您向地图询问某个键的值,该键是一个ArrayList,您可以在其上调用add。

String key = "myKey";
fileRank.put( key, new ArrayList<String>() );
//...
fileRank.get( key ).add( "a value");

答案 2 :(得分:2)

根据String键获取ArrayList,对ArrayList执行add(),然后将其放回HashMap(可选,因为地图已经保存了对它的引用) ;

fileRank.get(word).add(String)
fileRank.put(work, list);

答案 3 :(得分:0)

可能的解决方案:

public class MyContainer {

    private final Map<String, List<String>> myMap = new HashMap<String, List<String>>();

    public void add(String key, String value) {
        if(myMap.containsKey(key)) {
            myMap.get(key).add(value);
        } else {
            ArrayList<String> newList = new ArrayList<String>();
            newList.add(value);

            myMap.put(key, newList);
        }
    }
}

答案 4 :(得分:0)

private static HashMap&gt; mmArrays = new HashMap&gt;();

mmArrays.put(键,数据);