如何在 HashMap 中将元素添加到 ArrayList 中

2022-09-01 16:19:34

如何在HashMap的ArrayList中添加元素?

    HashMap<String, ArrayList<Item>> Items = new HashMap<String, ArrayList<Item>>();

答案 1

我知道,这是一个老问题。但只是为了完整性,lambda版本。

Map<String, List<Item>> items = new HashMap<>();
items.computeIfAbsent(key, k -> new ArrayList<>()).add(item);

答案 2
HashMap<String, ArrayList<Item>> items = new HashMap<String, ArrayList<Item>>();

public synchronized void addToList(String mapKey, Item myItem) {
    List<Item> itemsList = items.get(mapKey);

    // if list does not exist create it
    if(itemsList == null) {
         itemsList = new ArrayList<Item>();
         itemsList.add(myItem);
         items.put(mapKey, itemsList);
    } else {
        // add if item is not already in list
        if(!itemsList.contains(myItem)) itemsList.add(myItem);
    }
}

推荐