使用结合阵列的arraylist

时间:2015-03-02 11:24:47

标签: java arrays arraylist

所以我想使用结合数组的arraylist,本质上是一个2d数组列表,但第一级作为数组列表,第二级作为数组。 我知道arraylists或数组可以单独使用2d,但我的第一组数据我不知道大小,而第二组我知道大小为30

举一个例子,数组列表应该包含类似

的名称
{"bob", "dave", "pete", "alan"}

然后对于每个名称,我想附加一个大小为30的数组,如果我只使用数组,我想它就像是

String[][] array = new String[?][30]();

然后我使用类似

的名称添加名称
array[0] = "bob";

然后使用

添加数据
array[0][0] = 1;

但我希望第一个成为一个arraylist

对不起,如果不清楚,请随时提出更多解释

1 个答案:

答案 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