java List refence index

So imagine I have to do a class Table that based on List and has consttructor
Table(int rows, int columns) which defines ArrayList and fills it with ‘null’

My implementation:

public class Table<E> {

    private List<List<E>> table;

    public Table(int r, int c) {
        this.table=new ArrayList<>();
        for (int i=0; i<r; i++){
            table.add(new ArrayList<>());
            for (int j=0; j<c; j++){
                table.get(i).add(null);
            }
        }
    }
}

Now what i need is two methods:
List getRow(int i) which returns a row with number i;
List getColumn(int j) which returns a column with number j;

These methods should return references, or with example:

//rows() and columns() methods are returning int number
//of rows and colums of this table, respectively

Table<String> t=new Table<>(2, 2);

for (int i=0; i<t.rows(); i++){    
    System.out.println(t.getRow(i));
}

System.out.println();

t.getRow(0).set(1,"Lorem ipsum");

for (int i=0; i<t.rows(); i++){    
    System.out.println(t.getRow(i));
}

Should print:

[null, null]
[null, null]

[null, Lorem ipsum]
[null, null]

-> initial table ‘t’ have changed.

So, in case of getRow() is pretty easy:

public List<E> getRow(int i) {
    return this.table.get(i);
}

But I can’t do same with getColumn.
What I have now, returns a row but it doesn’t make reference to this table,
only to object at position:

public List<E> getColumn(int j) {
    List<E> temp=new ArrayList<>();

    for (int i=0; i<this.rows(); i++){
        temp.add(this.table.get(i).get(j));
    }
    return temp;
}

I understand why it’s happening, but I really don’t know how to implements it as it asked.

I’m now not sure that class attributes and constructor done for such funcionality.