ArrayList<HashMap<String, Object>>如何更新键值对和删除键值对?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList<HashMap<String, Object>>如何更新键值对和删除键值对?相关的知识,希望对你有一定的参考价值。

示例:
String[ ] name= new String[ ]"张三","李四","王五","赵六","霍七";
ArrayList<HashMap<String, Object>> arrayList = new ArrayList<HashMap<String, Object>>();
for( int i=0 ; i <name.length ; i++)
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("Name", name[ i ]);
conditionLIST.add(map);

请教大神们:
(问题1) 假如我要把“王五”改成“小明”该怎么更新这个键值???
(问题2) 假如我要删除“李四”该怎么写呢?

参考技术A 是有要求写成List<Map<String,Object>>这种结构,还是题主自己写的?
如果是有要求,那么你只能遍历List,找出包含"王五"的Map,然后更改.
删除"李四"只需要删除包含"李四"的Map就行了.
毕竟主体是List,Map看起来是键值对,但因为键是一样的,所以其实就是一个List,而且比直接用List或者Map还额外多了一步.
如果是题主自己写的....诶.....
用一个List不行吗?还键值对,所有的Key都同一个名字,好玩么?
这种结构维护起来别人是要骂娘的.追问

说谁不会说?就是不会写才发表提问啊!肯定是项目有需求啦,我只是把我遇到的问题简化一下写个示例片段代码。我在另一个知道提问里已经找到答案了,写的直接明了,别人不废话:

追答

好好,那您把这个取消推销吧.. 我逼话多我删了,不丢您脸.

参考技术B

    遍历arrayList,找到对应的“王五”的元素,然后用set方法去更新

    同样遍历,找到“李四”的元素,用remove方法删除

参考技术C

    map中删除: map.remove("李四");

    更新这个键值:删除原有的,再添加新的。

ArrayList 和 HashMap 使用指令

【中文标题】ArrayList 和 HashMap 使用指令【英文标题】:ArrayList and HashMap using directives 【发布时间】:2014-03-30 09:47:26 【问题描述】:

在 Xamarin 中,我需要为以下代码行使用什么 using 指令:

ArrayList<HashMap<string, string>> productList;

我无法解析 ArrayList 或 HashMap。

提前致谢

【问题讨论】:

C# Java HashMap equivalent的可能重复 【参考方案1】:

这些类位于 java.util 命名空间中,但请记住 Java 泛型不存在。因此,没有泛型版本(似乎它们过去存在)。

尝试将ArrayList 转换为ListHashMap 转换为Dictionary

【讨论】:

以上是关于ArrayList<HashMap<String, Object>>如何更新键值对和删除键值对?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用来自 Arraylist<Hashmap<String,String>> 的 bundle 获取使用 putserializable 传递的值

java编程hashmap,arraylist

Java中HashMap,HashSet是线程安全的吗,ArrayList是线程不安全的那如何避免其出异常?

在Hashmap中获取arrayList的大小

当Arraylist增长时,带有ArrayList键的HashMap无法找到它

如何将 HashMap<String, ArrayList<String>> 存储在列表中?