I have to create a 2d array with unknown size. So I have decided to go with a 2d ArrayList the problem is I\'m not sure how to initialize such an array or store information.
List> array = new ArrayList>();
// add row:
array.add( new ArrayList() );
// add a column:
array.get( array.size() -1 ).add( 1 );
Working demo:
import java.util.*;
import static java.lang.System.out;
class Load {
public static void main( String ... args ) {
List> array = new ArrayList>();
Scanner input = new Scanner(System.in);
out.println("Enter n:");
int n = input.nextInt();
out.println("Enter m:");
int m = input.nextInt();
out.println("Enter the values:");
for( int i = 0 ; i < n ; i++ ) {
// add row:
List list = new ArrayList();
array.add( list );
for( int j = 0 ; j < m ; j++ ) {
// add a column:
// array.get( array.size() -1 ).add( 1 ); or
list.add( input.nextInt() );
}
}
out.println("Result:");
out.println( array );
}
}
Output:
C:\>java Load
Enter n:
3
Enter m:
6
Enter the values
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Result:
[[0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11], [12, 13, 14, 15, 16, 17]]