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

问题描述 投票:4回答:1

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

谢谢!

java arraylist java-8 hashmap
1个回答
4
投票

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

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

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

虽然它可以用for循环或增强的for循环完成。

© www.soinside.com 2019 - 2024. All rights reserved.