繁体   English   中英

从Java中给定对象值的映射中删除键值对

[英]Remove Key value pair from map of given object value in java

如何从Java映射中删除给定对象值的元素。

样本数据:

{
3cc612eqwdwc3-4dce-11e7-b4a2-fe984uyucc15272:[code=5
     user_key=dcfb5f5f-588e-11e6-85b9-fe984cc15272
     message=You have successfully logged in...
     roles_name=PLATFORM_ADMIN
     access_token=3cc612c3-4dce-11e7-b4a2-fe984cc15272
     user_id=superadmin
     utc_time=2017-06-10 11:16:23.0
     roles_id=7
     token_type=0
     access_key=d3cd4e3f-5946-11e6-9bb0-fe984cc15272
     status=true
     is_valid=null
     ]
3cc61fdfff2c3-4dce-11e7-b4atuy2-fe984cc15272:[code=5
     user_key=dcfb5f5f-588e-11e6-85b9-fe984cc15272
     message=You have successfully logged in...
     roles_name=PLATFORM_ADMIN
     access_token=3cc612c3-4dce-11e7-b4a2-fe984cc15272
     user_id=superadmin
     utc_time=2017-06-10 11:16:23.0
     roles_id=7
     token_type=0
     access_key=d3cd4e3f-5946-11e6-9bb0-fe984cc15272
     status=true
     is_valid=null
     ]
3cc612cddf3-4dce-11e7-b4a562-fe984cc15272:[code=5
     user_key=dcfb5f5f-5ddd88e-11e6-85b9-fe984cc15272
     message=You have successfully logged in...
     roles_name=PLATFORM_ADMIN
     access_token=3cc612c3-4dce-11e7-b4a2-fe984cc15272
     user_id=superadmin
     utc_time=2017-06-10 11:16:23.0
     roles_id=7
     token_type=0
     access_key=d3cd4e3f-5946-11e6-9bb0-fe984cc15272
     status=true
     is_valid=null
     ]
3cc6f12c3-4dce-11e7-b4oopa2d-fe984cc15272:[code=5
     user_key=dcfb5f5f-588e-11e6-85b9-fe984cc15272
     message=You have successfully logged in...
     roles_name=PLATFORM_ADMIN
     access_token=3cc612c3-4dce-11e7-b4a2-fe984cc15272
     user_id=superadmin1
     utc_time=2017-06-10 11:16:23.0
     roles_id=7
     token_type=0
     access_key=d3cd4e3f-5946-11e6-9bb0-fe984cc15272
     status=true
     is_valid=null
     ]
3cc61vc2c3-4dcdse-11ep[7-b4a2-fe984cc15272:[code=5
     user_key=dcfb5f5f-5ddd88e-11e6-85b9-fe984cc15272
     message=You have successfully logged in...
     roles_name=PLATFORM_ADMIN
     access_token=3cc612c3-4dce-11e7-b4a2-fe984cc15272
     user_id=superadmin1
     utc_time=2017-06-10 11:16:23.0
     roles_id=7
     token_type=0
     access_key=d3cd4e3f-5946-11e6-9bb0-fe984cc15272
     status=true
     is_valid=null
     ]
}

对于上述示例数据,有没有办法删除所有包含对象值user_key=dcfb5f5f-588e-11e6-85b9-fe984cc15272地图元素,而无需使用循环或其他一些优化方法。

我已经尝试过使用remove()方法,但是它只能使用key删除。

好吧,可能我不正确。 但似乎您无法按键或值删除。 我建议改用过滤。 基于Java8的伪代码:

Map<Key, Value> filteredMap = map.entrySet()
.stream()
.filter(e -> !e.getValue().getUserKey().equals("dcfb5f5f-588e-11e6-85b9-fe984cc15272"))
.collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue()));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM