I am new to Java. Trying to create 2D arraylist, but getting this indexOutOfBoundsException: Index: 0, Size: 0
ArrayList<ArrayList<Integer>> twoDArrayList = new ArrayList<>();
for (int i = 0; i < 4; i++)
{
twoDArrayList.add(new ArrayList<>());
twoDArrayList.get(i).set(0,1);
}
Why second line fails in the for loop? When i = 0, there is already a row
created with add(new ArrayList<>())
------------------------------- thank you for your hints! ---------------------
Now finally I have a solution to print Pascal triangle..... first 5 lines of it
ArrayList> twoDArrayList = new ArrayList<>();
for (int i=0; i < 5; i++)
{
ArrayList<Integer> row = new ArrayList<>();
for (int j = 0; j <= i ; j++)
{
row.add(0);
}
row.set(0, 1);
row.set(i, 1);
twoDArrayList.add(row);
for (int j=1; j < i; j++)
{
twoDArrayList.get(i).set(j, twoDArrayList.get(i-1).get(j-1) + twoDArrayList.get(i-1).get(j));
}
}
for (ArrayList<Integer> row: twoDArrayList)
{
for (Integer element: row)
{
System.out.printf("%4d",element);
}
System.out.println();
}