volevo sapere se in Java è possibile simulare la gestione degli array (vettori , matrici) dinamicamente, come si può fare con il linguaggio C attraverso la malloc e realloc??

cioè se ho una matrice di tipo:

double [][] mat;

e non conosco il numero di righe e colonne, è possibile allocare progressivamente le righe e le colonne della matrice?

altrimenti dovrei prevedere un valore massimo del tipo mat=new double[100][100]!!! e questo non è il massimo dell'efficienza.

sapete come aiutarmi???