有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何添加到其他地方已经创建的哈希映射?

我有一个Hashmap数组,我需要将其中的数据与另一个数组进行比较,以便向Hashmap添加更多数据。然而,当我在比较函数中添加hashmap时,它似乎并不稳定。这是我的代码:

private void meshData(){
        for(Map<String,String> map: dataMap){
            for(List<String> arrayLine: statusArray){
                if(map.get("shortName").equals(arrayLine.get(0))){
                    map.put("ActiveVlan", arrayLine.get(3));
                    System.out.println(map.get("shortName"));
                    //System.out.println("match");
                }
            }
        }
    }

我将一个List<Map<String,String>>(dataMap)与一个List<List<String>(statusArray)进行比较,后者已经填充了数据。当我的名字匹配时(在if语句中),我需要添加另一个保存在statusArray中的数据单元。当我打印出来时,hashmap中没有“ActiveVlan”


共 (1) 个答案

  1. # 1 楼答案

    这条线

    map.put("ActiveVlan", arrayLine.get(3));
    

    意味着你正在关联arrayLine。使用ActiveVlan键获取(3)。您的映射是字符串键到字符串值的1:1映射。尝试添加

    System.out.println(map.get("ActiveVlan");
    

    明白我的意思。您可能希望形成一个新的数据结构,比如一个包含所有所需值的类,然后以该对象作为值形成一个映射。差不多

    Map<String, MyObject>