如何做一个哈希映射数组?

2022-08-31 16:56:30

这就是我试图做的,但它给了我一个警告:

HashMap<String, String>[] responseArray = new HashMap[games.size()];

类型安全:HashMap[ ] 类型的表达式需要未经检查的转换才能符合 HashMap[ ]


答案 1

什么原因?它的工作原理。只需忽略它:

@SuppressWarnings("unchecked")

不可以,您不能对其进行参数化。但是,我宁愿使用一个代替。List<Map<K, V>>

List<Map<String, String>> listOfMaps = new ArrayList<Map<String, String>>();

要了解有关集合和地图的详细信息,请查看本教程


答案 2

您可以使用类似如下的内容:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class testHashes {

public static void main(String args[]){
    Map<String,String> myMap1 = new HashMap<String, String>();

    List<Map<String , String>> myMap  = new ArrayList<Map<String,String>>();

    myMap1.put("URL", "Val0");
    myMap1.put("CRC", "Vla1");
    myMap1.put("SIZE", "Val2");
    myMap1.put("PROGRESS", "Val3");

    myMap.add(0,myMap1);
    myMap.add(1,myMap1);

    for (Map<String, String> map : myMap) {
        System.out.println(map.get("URL"));
        System.out.println(map.get("CRC"));
        System.out.println(map.get("SIZE"));
        System.out.println(map.get("PROGRESS"));
    }

    //System.out.println(myMap);

}


}