我正在寻找一种优化的解决方案,以便从null
中删除HashMap
个密钥。此HashMap存在于ArrayList
内。请找到以下示例。
public class Car {
String year;
String model;
Map<String,String> colors;
}
List<Car> listOfCars = new ArrayList<Car>();
颜色图的样本可以是这样的:
{
red(1),
blue(2),
green(3),
black(4),
null(5)
}
我需要一个迭代listOfCars
的解决方案,获取颜色地图并从中删除null
键。试图在Java8中查看任何其他选项而不是使用Iterator。
谢谢!
答案 0 :(得分:4)
考虑到地图不能包含重复键,我们可以说,Map
实例的每个Car
实例最多只能有一个带null
键的条目。
使用Java-8 forEach
构造的解决方案是:
listOfCars.forEach(e -> e.getColors().remove(null));
虽然可以使用for
循环或增强型for
循环来完成。