我有一个Hashmaps数组,我需要将其中的数据与另一个数组进行比较,以便我可以向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”。
答案 0 :(得分:0)
这一行
map.put("ActiveVlan", arrayLine.get(3));
表示您将arrayLine.get(3)与密钥ActiveVlan相关联。您的映射是String键到String值的1对1映射。尝试添加
System.out.println(map.get("ActiveVlan");
看看我的意思。您可能希望形成一个新的数据结构,比如一个包含所需值的类,然后形成一个以该对象为值的地图。像
这样的东西Map<String, MyObject>