Вы можете создать такую таблицу, как это:
List<List<?>> table = new ArrayList<>();
Это то, что вы просили, но я не думаю, что эта структура полезна. Вам нужно будет создать новый ArrayList
для каждого столбца вашей таблицы. И данные в одном столбце должны всегда иметь один и тот же тип. В противном случае вы никогда не сможете получить данные в ячейке, потому что вы не знаете, к какому типу он должен быть применен. В качестве примера посмотрите на эту таблицу:
name | age
------+-----
alice | 25
------+-----
bob | 30
Использование списков-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
}
Оператор DECLARE тха стол:
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);
Вы знаете точные типы, которые будут использоваться там? –
они могут быть любыми типами: логическими, десятичными, целыми и строковыми – holyn
Что вы хотите сделать с этой структурой? – stevecross