java - 如何在java中以有效的方式将数组中的元素写入 HashMap ?

标签 java algorithm

在我的 java 代码中,我有一个空的 HashMap :

private Map<String, String> map = new HashMap<>();

我还有一个字符串数组:

String[] array = path.split("/");

此数组可以为 null、空或包含一到三个元素。我需要根据这个数组填充我的 HashMap ,但是键应该是硬编码的 - 我的意思是对于映射中的第一个值,键应该是 one,对于第二个值它应该是two,第三个应该是two。我写了这个算法:

if (array == null || array.length == 0){
    LOG.warn("Path is empty");
}
if (array.length == 1){
    map.put("one", array[0]);
} else if (array.length == 2) {
    map.put("one", array[0]);
    map.put("two", array[1]);
} else if (array.length == 3) {
    map.put("one", array[0]);
    map.put("two", array[1]);
    map.put("three", array[2]);
}

但我认为可能有更好(或者绝对更漂亮)的处理方式。你能帮我吗?

最佳答案

您可以在下面的代码之前检查数组是否为空

String[] keys = {"one", "two", "string"};
for(int = 0; i < array.length;i++){
   map.put(keys[i], array[i]);
}

关于java - 如何在java中以有效的方式将数组中的元素写入 HashMap ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60431371/

相关文章:

java - java中如何计算表达式?

java - NullPointerException 尽管 fx :id and fx:controller are correct

c# - 在不使用临时内存的情况下从列表中删除重复项

java - N*N 矩阵,计算唯一方矩阵的数量..?

java - 将 UTF-16 字符串拆分为单个字符/字符串

java - 在 Java 中搜索

java - java变量的多态或改名

算法 - GCD 和 LCM 问题

c# - 特殊类型查询的数据结构

algorithm - 这个数据结构的名称是什么?