我需要创建一个二维表,我知道它的列数,但我不知道行数。行将通过代码生成并添加到表中。 我的问题是,你认为java中的哪种数据结构最适合这些功能?
答案 0 :(得分:2)
您应该为每个列创建一个包含字段的类。例如,这是一个if(Obj.GetType() == typeof(ClassName))
类。
Person
然后您可以创建public final class Person {
private final String firstName;
private final String lastName;
private final int age;
public Person(String firstName, String lastName, int age){
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
public String firstName() {
return firstName;
}
public String lastName() {
return lastName;
}
public int age() {
return age;
}
}
。行数将根据需要增加。
例如
ArrayList<Person>
答案 1 :(得分:2)
有几种选择:
ArrayList
,如@pbabcdefp建议将原始数组放入ArrayList
:
List<int[]> list = new ArrayList<>();
list.add(new int[] {1, 2, 3});
list.add(new int[] {4, 5, 6});
使用一些特殊的数据结构,例如来自Table的Google Guava:
Table<Integer, String, Object> table = HashBasedTable.create();
// row 1
table.put(1, "Name", "John");
table.put(1, "Age", 22);
// row 2
table.put(2, "Name", "Mike");
table.put(2, "Age", 33);