在我的项目中,我循环map.entries,检查键,并根据条件将该条目(键值对)放入另一个映射,这是最终结果。这是一种典型的情况,像myMap.put(someMapEntry)
这样的书写非常方便。
public Map<NumberPair, Integer> getPairsContainingNumber (int number) {
Map<NumberPair, Integer> pairToDistance = advice.getAll630PairsWithDistances();
Map<NumberPair, Integer> result = new LinkedHashMap<>();
for (Map.Entry<NumberPair, Integer> pairToDistanceEntry : pairToDistance.entrySet()) {
List<Integer> twoNumbersOfCurrentPair = pairToDistanceEntry.getKey().get2Numbers();
if (twoNumbersOfCurrentPair.contains(number)) {
result.put(pairToDistanceEntry.getKey(), pairToDistanceEntry.getValue());
}
}
return result;
}