【问题标题】:Using an arraylist combined with an array使用与数组结合的arraylist
【发布时间】:2015-03-02 11:24:46
【问题描述】:

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

举个例子,数组列表应该包含类似的名称

{"bob", "dave", "pete", "alan"}

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

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

然后我会使用类似

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

然后使用添加数据

array[0][0] = 1;

但我希望第一个是数组列表

抱歉,如果不清楚,请随时要求更多解释

【问题讨论】:

  • “但我希望第一个是数组列表”,你的英文和代码没有多大意义。请重写。
  • 听起来更像Map<String, String[]> 而不是List<String[]>...
  • 你为什么不用Map<String, List<String>>

标签: java arrays arraylist


【解决方案1】:

有几种可能的方法。

1) 如果您不关心项目的顺序,可以使用Map<String, String[]>,名称(“bob”)作为键,长度为 30 的数组作为值。

2) 您可以有两个单独的ArrayLists - 一个用于名称,一个用于数组。这样做的缺点是您必须小心地将它们一起更新。

List<String> names;
List<String[]> values;

3) 您可以创建一个包含名称和值数组的 Entry 类,然后将这些 Entry 对象存储在 ArrayList 中。

class Entry {
  String name;
  String[] values;   
  // etc
}

...

List<Entry> entries = new ArrayList<Entry>(); //etc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-09
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多