我尝试实现像 HashMap<String,MyBigList>
这样的 HashMap
但我无法形成我的 MyBigList。以下是我正在尝试创建的确切 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<Integer>
但也没有成功。
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);
}
}
产生
{word=[[1 [2, 3], 1 [2, 3]]]}
最佳答案
所以一个Map<String, List<Object>>
子列表周围没有类型安全(因为您有整数和列表)?
简单地说,这听起来过于复杂。它们没有集合,因此您可以为所有数据嵌套它们,如果您确实想让数据变得简单,请使用一个类来表示它,并将该类存储在 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<>();
关于java - 创建单个列表的列表以在 HashMap 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23583348/