消除arraylist中存在的hashmap中的null键

时间:2018-01-02 22:09:51

标签: java arraylist java-8 hashmap

我正在寻找一种优化的解决方案,以便从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。

谢谢!

1 个答案:

答案 0 :(得分:4)

考虑到地图不能包含重复键,我们可以说,Map实例的每个Car实例最多只能有一个带null键的条目。

使用Java-8 forEach构造的解决方案是:

listOfCars.forEach(e -> e.getColors().remove(null));

虽然可以使用for循环或增强型for循环来完成。