java - 如何在对象列表中推送值?
问题描述
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之外,还有其他方法吗?
解决方案
从 java 8+ 开始,您可以尝试以下操作:
Map<String, Collection<String>> food = new HashMap<>();
// ... any code ...
food.computeIfAbsent("fruits", k -> new ArrayList<String>()).add("apple");
推荐阅读
- sql - 带有 OLEDB 的 Sql 字符串在 VBA 中给出错误 1004
- python-3.x - 当我们设置变量started = False时,“if started:”是什么意思?
- inno-setup - 在 Inno Setup 中修改选定的目录访问权限
- discord.js - discord.js - 等待消息并检查 dm 消息
- razor - Program.cs 和 App.razor 的区别
- java - 如何在 netbeans gui builder 中设置 getter 和 setter?
- python - 如何在处理中编码固定数量的半随机间隔且仍适合固定大小图像的行?
- java - 在 HQL 查询中使用 join fetch 和 group by
- erlang - 如何在 Erlang 中使用变量作为引用传递?
- javascript - NodeJS,Express:分叉的子进程无法使用池进行批量 MySQL 查询