Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 创建用于HashMap的单个列表列表_Java_List_Arraylist_Hashmap - Fatal编程技术网

Java 创建用于HashMap的单个列表列表

Java 创建用于HashMap的单个列表列表,java,list,arraylist,hashmap,Java,List,Arraylist,Hashmap,我尝试实现一个hashmap,比如hashmap 但我不能形成我的大名单。下面是我正试图创建的哈希映射 {word=[ [1, [0, 2] ], [ 2, [2]] ], word2=[ [ 1, [1] ] ]} 我想要一个大的单张列表,如下所示 [ [single list], [single list], .. ] 以及包含一个int和一个int列表的单个列表 [single list] = [1, [0,2]] 我尝试在ArrayList中使用ArrayList,但没有成功。 我

我尝试实现一个hashmap,比如
hashmap

但我不能形成我的大名单。下面是我正试图创建的哈希映射

{word=[ [1, [0, 2] ], [ 2, [2]] ], word2=[ [ 1, [1] ] ]}
我想要一个大的单张列表,如下所示

[ [single list], [single list], .. ]
以及包含一个int和一个int列表的单个列表

[single list] = [1, [0,2]]
我尝试在ArrayList中使用ArrayList,但没有成功。 我甚至尝试创建一个新类,其成员包括
int
ArrayList
但它也不起作用

import java.util.ArrayList;
import java.util.HashMap;

public class NewClass {
    int id;
    ArrayList<Integer> posList;

    public NewClass(){

        this.id = 0;
        this.posList = new ArrayList<Integer>();
    }

    public NewClass(int _id, int a, int b){
        id = _id;
        this.posList = new ArrayList<Integer>();
        posList.add(a);
        posList.add(b);
    }

    public String toString(){
        return "" + this.id + " " + this.posList;
    }
    public static void main(String[] args) {

        NewClass n = new NewClass(1,2,3);
        HashMap<String,ArrayList<ArrayList<NewClass>>> map = new HashMap<String,ArrayList<ArrayList<NewClass>>>();
        ArrayList<ArrayList<NewClass>> bigList = new ArrayList<ArrayList<NewClass>>();
        ArrayList<NewClass> nList = new ArrayList<NewClass>();
        nList.add(n);
        nList.add(n);
        bigList.add(nList);
        map.put("word", bigList);

        System.out.println(map);
    }
}
import java.util.ArrayList;
导入java.util.HashMap;
公共类新类{
int-id;
数组列表;
公共类(){
此参数为0.id;
this.posList=new ArrayList();
}
公共新类(int _id,int a,int b){
id=_id;
this.posList=new ArrayList();
添加(a);
添加(b);
}
公共字符串toString(){
返回“+this.id+”+this.posList;
}
公共静态void main(字符串[]args){
新类别n=新类别(1,2,3);
HashMap=newHashMap();
ArrayList bigList=新的ArrayList();
ArrayList nList=新的ArrayList();
nList.add(n);
nList.add(n);
添加(nList);
map.put(“单词”,bigList);
系统输出打印项次(map);
}
}
产生

{word=[[1[2,3],1[2,3]]]}

那么,子列表周围没有类型安全性的
Map
(就像您有整数和列表一样)

轻描淡写地说,这听起来太复杂了。它们没有集合,因此您可以为所有数据嵌套它们,如果您真的想简化数据,请使用类来表示它,并将该类存储在
映射中,使用某些方面作为访问它的关键:

public class MyClass {

    private final String word;

    public MyClass(String word) {
        this.word = word;
    }

    // Other Data needed

    public String getWord() { return this.word; }

}

//In another class
Map<String, MyClass> words = new HashMap<>();
公共类MyClass{
私有最后字符串字;
公共MyClass(字符串字){
这个单词=单词;
}
//所需的其他数据
公共字符串getWord(){返回this.word;}
}
//在另一个班级
Map words=newhashmap();

Related:如果您向我们展示您的尝试不起作用会更好。为什么不起作用?虽然很麻烦,但地图没有问题。请解释问题的具体原因以及您尝试过的方法。至于现在,这个问题还不清楚。顺便说一句,你没有
列表
,而是
列表
,其中元素可能是
整数
列表