只需将条件放入lambda本身,例如
animalMap.entrySet().stream() .forEach( pair -> { if (pair.getValue() != null) { myMap.put(pair.getKey(), pair.getValue()); } else { myList.add(pair.getKey()); } } );当然,这假设两个集合(
myMap和
myList)在上述代码之前都已声明和初始化。
更新:
Map.forEach如JornVernee所建议的那样,使用可以使代码更短,更高效,更易读。
animalMap.forEach( (key, value) -> { if (value != null) { myMap.put(key, value); } else { myList.add(key); } } );


