首页 > 解决方案 > 如何在对象列表中推送值?

问题描述

Java项目在进行时出现问题,所以我问了一个问题。

例如,假设我们在 JavaScript 中有这个对象。

let testObject = {
   'Fruit' : [],
   'Food': []
}

我可以为食物数组添加一个值。

testObject['Fruit'].push('tomato');
testObject['Food'].unshift('ramen');

与 javascript 一样,java 直接将值推送到对象列表。

        HashMap<String, ArrayList<String>> testObject = new HashMap<>();
        testObject.put("Food",new ArrayList<>());
        testObject.put("Fruit",new ArrayList<>());
        for(T etc : testObject...){
            if(etc...equals("Fruit")){
                etc..add('tomato');
            }else if(etc..equals("Food")){
                etc..add('ramen');
            }
        }

除了使用引用调用提前声明ArrayList并将其放入testObject之外,还有其他方法吗?

标签: javaarraylisthashmap

解决方案


从 java 8+ 开始,您可以尝试以下操作:

Map<String, Collection<String>> food = new HashMap<>();

// ... any code ...

food.computeIfAbsent("fruits", k -> new ArrayList<String>()).add("apple");

推荐阅读