Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中获取arraylist的hashmap内容?_Java - Fatal编程技术网

如何在java中获取arraylist的hashmap内容?

如何在java中获取arraylist的hashmap内容?,java,Java,我使用以下代码将hashmap内容保存到arraylist中 HashMap jediSaber = new HashMap(); ArrayList<HashMap> valuesList = new ArrayList(); for(int i = 0; i< 4;i++) { jediSaber.put("white","white_name"+i); jediSaber.put("blue","blue_name"+i); val

我使用以下代码将hashmap内容保存到arraylist中

HashMap jediSaber = new HashMap();  
ArrayList<HashMap> valuesList = new ArrayList();

for(int i = 0; i< 4;i++) {
    jediSaber.put("white","white_name"+i);  
    jediSaber.put("blue","blue_name"+i);   
    valuesList.add(i, jediSaber);           
    System.out.println("list ontent:"+i+":"+valuesList.get(i).values());
}

    `   
当我尝试用以下代码在外部显示arraylist的内容时

System.out.println("list content:");
for(int i = 0;i<valuesList.size();i++){ 
    System.out.println("list:"+i+":"+valuesList.get(i).values());
}
我的问题是我需要显示hashmap的arraylist的内容

我想我在第二部分遗漏了一些东西。有人能帮我解决这个小问题吗


提前谢谢

这是每次向
数组列表添加相同的
HashMap

valuesList.add(i, jediSaber);
每次在
for
中创建一个新的
HashMap
,并添加它:

List<HashMap<String, String>> valuesList =
    new ArrayList<HashMap<String, String>>();

for (int i = 0; i < 4; i++)
{
    HashMap<String, String> m = new HashMap<String, String>();
    m.put("white", "white_name" + i);
    m.put("blue",  "blue_name"  + i);
    valuesList.add(m);
}

System.out.println(valuesList.toString());
列表值列表=
新的ArrayList();
对于(int i=0;i<4;i++)
{
HashMap m=新的HashMap();
m、 put(“白色”、“白色名称”+i);
m、 put(“蓝色”、“蓝色名称”+i);
价值清单增加(m);
}
System.out.println(valuesList.toString());

尝试将
绝地刀
拉入
循环,如下所示:

for(int i = 0; i < 4; i++) {
    Map<String, String> jediSaber = new HashMap<String, String>();
另外,无需使用index参数调用
add(i,jediSaber)
valuesList。add(jediSaber)
将具有相同的效果。

List valuesList=new ArrayList();
        List<Map> valuesList = new ArrayList();
        for (int i = 0; i < 4; i++) {
            Map<Object, Object> jediSaber = new HashMap<>();
            jediSaber.put("white", "white_name" + i);
            jediSaber.put("blue", "blue_name" + i);
            valuesList.add(jediSaber);
            Set<Entry<Object, Object>> entrySet = jediSaber.entrySet();
            for (Entry<Object, Object> entry : entrySet) {
                System.out.println(entry.getKey() + "-" + entry.getValue());
            }
        }
对于(int i=0;i<4;i++){ Map jediSaber=新HashMap(); 绝地刀。put(“白色”、“白色名称”+i); 绝地刀。put(“蓝色”、“蓝色名称”+i); 价值列表。添加(绝地刀); Set entrySet=jediSaber.entrySet(); for(条目:entrySet){ System.out.println(entry.getKey()+“-”+entry.getValue()); } }
谢谢您的回复。工作正常。已在forloop中创建hasmap并添加到arraylist中。
for(int i = 0; i < 4; i++) {
    Map<String, String> jediSaber = new HashMap<String, String>();
List<Map<String, String>> valuesList = new ArrayList<Map<String, String>>();
        List<Map> valuesList = new ArrayList();
        for (int i = 0; i < 4; i++) {
            Map<Object, Object> jediSaber = new HashMap<>();
            jediSaber.put("white", "white_name" + i);
            jediSaber.put("blue", "blue_name" + i);
            valuesList.add(jediSaber);
            Set<Entry<Object, Object>> entrySet = jediSaber.entrySet();
            for (Entry<Object, Object> entry : entrySet) {
                System.out.println(entry.getKey() + "-" + entry.getValue());
            }
        }