Bic*_*ick 4 java java-8 java-stream
我想从地图中过滤几个对象,如下所示:
目前我使用两种方法
Map<String, MyObject > map = scenarioFieldsMap.entrySet().stream()
.filter(e -> e.getKey().contains("["))
.collect(Collectors.toMap(Map.Entry::getKey, e -> e.getValue()));
scenarioFieldsMap.entrySet().removeIf(e -> e.getKey().contains("["));
Run Code Online (Sandbox Code Playgroud)
有没有更好的过滤和删除方法?
如果不是迭代所有键(或条目)而只删除其他映射中存在的键,则第二步可以更有效:
scenarioFieldsMap.keySet().removeAll(map.keySet());
Run Code Online (Sandbox Code Playgroud)
我假设您打算从原始条目中删除条目,scenarioFieldsMap而不是从您在第一步中创建的新地图中删除条目.
| 归档时间: |
|
| 查看次数: |
8097 次 |
| 最近记录: |