所以我想使用结合数组的arraylist,本质上是一个2d数组列表,但第一级作为数组列表,第二级作为数组。 我知道arraylists或数组可以单独使用2d,但我的第一组数据我不知道大小,而第二组我知道大小为30
举一个例子,数组列表应该包含类似
的名称{"bob", "dave", "pete", "alan"}
然后对于每个名称,我想附加一个大小为30的数组,如果我只使用数组,我想它就像是
String[][] array = new String[?][30]();
然后我使用类似
的名称添加名称array[0] = "bob";
然后使用
添加数据array[0][0] = 1;
但我希望第一个成为一个arraylist
对不起,如果不清楚,请随时提出更多解释
答案 0 :(得分:0)
有几种可能的方法。
1)如果您不关心项目的顺序,可以使用Map<String, String[]>
,名称(“bob”)作为键,使用长度为30的数组作为值。 / p>
2)你可以有两个单独的ArrayList
s - 一个用于名称,一个用于数组。这样做的缺点是你必须小心一起更新它们。
List<String> names;
List<String[]> values;
3)您可以创建一个包含名称和值数组的Entry类,然后将这些Entry对象存储在ArrayList
中。
class Entry {
String name;
String[] values;
// etc
}
...
List<Entry> entries = new ArrayList<Entry>(); //etc