Всем привет!
Сделал тут двумерную коллекцию. Вот она:
public class Collection {
ArrayList<ArrayList<Integer>> collectionOfPoints;
ArrayList<Integer> subCollectionOfPoints;
int x, y;
public Collection(){
collectionOfPoints = new ArrayList();
x = 0;
y = 0;
}
public void calculatePoints(){
for(int i = 0; i < 10; i++){
x++;
y++;
subCollectionOfPoints = new ArrayList<Integer>();
subCollectionOfPoints.add(x);
subCollectionOfPoints.add(y);
collectionOfPoints.add(subCollectionOfPoints);
}
System.out.println("Коллекция точек создана!");
}
public ArrayList returnCallOfPoints(){
return collectionOfPoints;
}
}
Короче, все просто. Делается коллекция из коллекций, каждая из которых содержит пару точек. Все работает, распечатывается как надо и все такое.
if(ОбъектКлассаСРеализациейДвумернойКоллекции.returnCallOfPoints().size() != 0){
System.out.println(ОбъектКлассаСРеализациейДвумернойКоллекции.returnCallOfPoints().get(1));
}
В результате имею в консоле [2, 2], что логично.
Только мне надо обратиться ко второму или первому значению вложенной коллекции. Логика подсказывает, что надо написать как-то так:
System.out.println(ОбъектКлассаСРеализациейДвумернойКоллекции.returnCallOfPoints().get(1).get(1));
Но, у создателей Java видимо была логика отличная от моей(Храни их Господи).
Как это сделать?