簡體   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