【发布时间】:2022-01-17 05:29:53
【问题描述】:
class Custom{
String itemId,
long createdTS
//constructor
public Custom(String itemId,long createdTS)
}
我有两张地图
Map<String,Long> itemIDToFilterAfterTS;
Map<String,List<Custom>> itemIDToCustoms;
我想使用 java 流的项目的第一个映射 itemIDToTimestampMap 值过滤第二个映射 itemIDToCustoms 值。 例如。
itemIDToFilterAfterTS = new HashMap();
itemIDToFilterAfterTS.put("1",100);
itemIDToFilterAfterTS.put("2",200);
itemIDToFilterAfterTS.put("3",300);
itemIDToCustoms = new HashMap();
List<Custom> listToFilter = new ArrayList();
listToFilter.add(new Custom("1",50));
listToFilter.add(new Custom("1",90));
listToFilter.add(new Custom("1",120));
listToFilter.add(new Custom("1",130));
itemIDToCustoms.put("1",listToFilter)
现在我想使用 java 流并希望得到过滤的结果映射,getKey("1") 为它提供已创建的自定义对象的过滤列表 TS > 100(将从 itemIDToFilterAfterTS.getKey("1") 获取 100)
Map<String,List<Custom>> filteredResult will be
Map{
"1" : List of (Custom("1",120),Custom("1",130))
}
【问题讨论】:
标签: java hashmap java-stream