Ось моя програма
ArrayList<ArrayList<?>> matrix = new ArrayList(); // nested list so as to have each matrix.add(new ArrayList());
matrix.add(new ArrayList());
matrix.add(new ArrayList());
Я знаю, що можу отримати доступ до кожного елемента спискуusing matrix.get (0) але що, якщо я хочу отримати доступ до першого елемента першого вкладеного списку (сподіваюся, що це зрозуміло) Це те, що я хотів би зробити. Було б навіть краще, якби я міг перетворити кожен з вкладених списків або навіть весь список у відповідний масив з вкладеними масивами всередині, але це може бути високий порядок. Мені дуже шкода, що мої навички програмування дійсно бідні.
Відповіді:
1 для відповіді № 1Щоб отримати доступ до першого елемента першого списку, ви можете зробити це matrix.get(0).get(0);
. Коли ти робиш matrix.get(0)
що повертає перше List
, за якими можна виконати більше операцій (get
, add
, remove
і т.д.), що нічим не відрізняється від чогось подібного aList.get(0)
0 для відповіді № 2
<?> foo = matrix.get(0).get(0);
0 для відповіді № 3
Вам просто потрібно послатися на перший елемент першого елемента
matrix.get(0).get(0)
0 для відповіді № 4
Ви можете використати щось подібне
public static void main(String[] args) throws Exception {
ArrayList<ArrayList<?>> matrix = new ArrayList<ArrayList<?>>();
ArrayList<Integer> al = new ArrayList<Integer>();
al.add(1);
matrix.add(al);
ArrayList<Integer> al2 = new ArrayList<Integer>();
al2.add(2);
al2.add(3);
matrix.add(al2);
Object[] objs = new Object[al.size()];
objs = matrix.toArray(objs);
System.out.println(java.util.Arrays.toString(objs));
}
Виходи
[[1], [2, 3]]
0 для відповіді № 5
Сподіваюся, що наступний код описує все для вас:
//get the first list from matrix
List<?> firstNestedList = matrix.get(0);
//get the first element from the firstNestedList
Object neededElement = firstNestedList.get(0);