用map键值过滤对象列表,替换map值



我有一个对象列表

List<Person> personLst = [{"person:" {personName:AASH_01 , country :AUS, state :ADL, zip :null }, 
{personName:AASH_01 , country :AUS, state :MLB, zip :null}}] 

and Map保存一个键值,基于此需要对列表应用过滤器。

Map<String, String> lstMap = new HashMap<>();
lstMap.put("ADL","12345")

Apply Filter Condition:如果personLst.contains(ADL)是一个映射键,过滤它并将zip替换为映射值(12345)

尝试了不同的stackoverflow问题,没有多大帮助。

为了确保,

List<Person> personLst = [{"person:" {personName:AASH_01 , country :AUS, state :ADL, zip :null },{personName:AASH_01 , country :AUS, state :MLB, zip :null}}]

实际上指的是一个有效的Java对象列表,对吗?因为在当前状态下,这些将是有效的JavaScript对象,而不是有效的Java对象。

另外,List<Person>真的应该用personLst.contains(String)来称呼吗?

因此,假设这些是有效的Java对象,具有正确的getter和setter,并且打算使用正确的方法,您应该能够使用
personLst.forEach(p -> {
if(lstMap.containsKey(p.getState()))
p.setZip(lstMap.get(p.getState()));
});

相关内容

  • 没有找到相关文章

最新更新