所以我想使用ArrayLists为列和行创建一种表。它就像另一个ArrayList中的ArrayList。列的ArrayList(每个列具有不同的数据类型),其中每列也是一个ArrayList,保存为该列提到的类型的数据。
我真的可以使用你的帮助,我怎样才能制作这种表格,如何处理更新信息。谢谢!
答案 0 :(得分:0)
你可以像这样创建一个这样的表:
List<List<?>> table = new ArrayList<>();
这是你要求的,但我不认为这种结构是有用的。您必须为表的每一列创建一个新的ArrayList
。并且一列中的数据应始终具有相同的类型。否则你永远无法获取单元格中的数据,因为你不知道它必须被铸造的类型。作为示例,请查看此表:
name | age
------+-----
alice | 25
------+-----
bob | 30
使用lists-sturcture,可以像这样创建表:
table.add(new ArrayList<String>());
table.add(new ArrayList<Integer>());
添加和访问人员不舒服且容易出错:
table.get(0).add("alice");
table.get(1).add(25);
table.get(0).add("bob");
table.get(1).add(30);
String nameOfAlice = (String) table.get(0).get(0);
Integer ageOfAlice = (Integer) table.get(1).get(0);
String nameOfBob = (String) table.get(0).get(1);
Integer ageOfBob = (Integer) table.get(1).get(1);
如果为行创建一个类,则可以更加有效:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// Getters & setters
}
声明表:
List<Person> persons = new ArrayList<>();
现在添加和访问一个人就容易多了:
persons.add(new Person("alice", 25));
persons.add(new Person("bob", 30));
Person alice = persons.get(0);
Person bob = persons.get(1);