java - 从存在于 arraylist 中的 hashmap 中消除空键

标签 java arraylist java-8 hashmap

我正在寻找一个优化的解决方案来从 HashMap 中删除 null 键。此 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 中的任何其他选项而不是使用迭代器。

谢谢!

最佳答案

考虑到 map 不能包含重复键,因此我们可以说 Car 实例的每个 Map 实例最多只会有一个带有 null 键。

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

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

尽管它也可以使用 for 循环或增强的 for 循环来完成。

关于java - 从存在于 arraylist 中的 hashmap 中消除空键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48068523/

相关文章:

java - 如何为主机名构建正则表达式?

java - 创建一个 Java 完成对象,以便消费者可以等待这些对象的逻辑组合

java - 如何仅将 1 个元素传递给 ArrayAdapter 并确保它只显示唯一的项目

java - Hibernate 管理 @ManyToMany 表插入和订单

java - 多线程之间的对象共享

java - 从 mybatis xml 查询生成 sql 查询

java - 无限 while 循环? - 出现终止按钮

java - 当 ArrayList 位于对象内部时访问 ArrayList 方法

java - 在 JDK8 中导入 java.util.Arrays

java - 我如何检查 Java 8 中的负零?