从java中的Map List中删除值 [英] Remove value from List of Map in java

查看:197
本文介绍了从java中的Map List中删除值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我以这种形式列出了这个表单:

 列表:[{id = 1,c_id = 3,value = 5},{id = 1,c_id = 2,value = 5},{id = 1,c_id = 5},{id = 2,c_id = 1,value = 5},
{id = 2,c_id = null,value = 5}}]

结果我试图得到

 列表:[{id = 1,c_id = 3,value = 5} ,, {id = 1,c_id = 2,value = 5},{id = 2,c_id = 1 ,value = 5}}] 

对于相同的 id 如果 c_id 是相同的,它应该被删除,并且如果 c_id null 它应该被删除。

解决方案

你可以做

  for(Iterator< Map< String,Object>>> iter = list.iterator(); iter.hasNext();){
Map< String,Object> map = iter.next();
对象c_id = map.get(c_id);
if(c_id == null || c_id.equals(matching_c_id))
iter.remove();
}


Remove value from list in java containing map

I am having list in this form:

List: [{id=1,c_id=3,value=5},{id=1,c_id=2,value=5},{id=1,c_id=3,value=5},{id=2,c_id=1,value=5},       
        {id=2,c_id=null,value=5}}];

In result I am trying to get

List: [{id=1,c_id=3,value=5},,{id=1,c_id=2,value=5},{id=2,c_id=1,value=5}}]

For same id if c_id is same it should be removed and also if c_id is null it should be removed.

解决方案

You can do

for(Iterator<Map<String, Object>> iter = list.iterator(); iter.hasNext(); ) {
    Map<String, Object> map = iter.next();
    Object c_id = map.get("c_id");
    if (c_id == null || c_id.equals(matching_c_id))
        iter.remove();
}

这篇关于从java中的Map List中删除值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆