繁体   English   中英

带有ArrayList的HashMap

[英]HashMap with ArrayList

我有一个关于带有ArrayList的HashMap的java问题。 键是一个字符串,值是ArrayList( HashMap<String, ArrayList<Object>>

我得到了一个多个键的列表,我需要将相应的值放入ArrayList,我不知道该怎么做。

这是一个例子:

(我给的是什么)

ABC
ABC
ABC
123
123

键实际上是文件名,因此该文件是ArrayList的值。 现在我必须分离这些文件名,以便我可以将文件添加到ArrayList。 这有意义吗?

这是我唯一的代码:

Set<String> tempModels = Utils.getSettingSet("module_names", new HashSet<String>(), getActivity());
        for(String s : tempModels) {
            Log.d("Loading from shared preferences: ", s);
            String key = s.substring(0, 17);

        }

我相信你正在寻找这样的东西,

List<Object> al = map.get(key);
if (al == null) {
  al = new ArrayList<Object>();
  map.put(key, al);
}
al.add(value);

请注意,上面使用原始Object列表。 您应该(如果可能)选择合适的类型,并使用它。

编辑

有些人喜欢(略短)的形式,

if (!map.containsKey(key)) {
  map.put(key, new ArrayList<Object>());
}
map.get(key).add(value);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM