1
我需要創建一個二維表,我知道它的列數,但我不知道行數。這些行將通過代碼生成並添加到表中。 我的問題是,你認爲哪種數據結構是最適合這些功能的?創建具有固定列數的動態數組
我需要創建一個二維表,我知道它的列數,但我不知道行數。這些行將通過代碼生成並添加到表中。 我的問題是,你認爲哪種數據結構是最適合這些功能的?創建具有固定列數的動態數組
您應該爲每個列創建一個包含字段的類。例如,這裏是一個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>
。行數將根據需要增加。
例如
List<Person> table = new ArrayList<>();
table.add(new Person("John", "Smith", 52);
table.add(new Person("Sarah", "Collins", 26);
有幾種選擇:
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);