首页 > 解决方案 > 如何在 java 中以有效的方式将数组中的元素写入哈希映射?

问题描述

在我的java代码中,我有一个空的哈希映射:

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

我还有一个字符串数组:

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

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

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]);
}

但我认为可能有更好(或绝对更漂亮)的处理方式。你能帮我解决这个问题吗?

标签: javaalgorithm

解决方案


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

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

推荐阅读