如何创建一个二维数组,每个元素都是 Java 中的一个列表?
How can I create a two dimensional array with each element being a list in Java?
我想创建一个二维数组,其中的每个元素都是一个列表,如图所示。
我试过了 ArrayList<List<User>>[][] arrayList = new ArrayList[3][3];
这是正确的解决方案吗?因为当我尝试像下面的代码一样添加元素时,我得到了 null 错误。
List<User> list = new ArrayList<User>();
arrayList[0][0].add(list);
User user = new User(1,3,2,6);
arrayList[0][0].get(0).add(user);
System.out.println(arrayList[0][0].get(0).get(0).id);
这为我编译和运行。请注意,我更改了您对“arrayList”的定义以更好地匹配您的图表。我想这就是你想要的。但是,如果您需要不同的东西,扩展起来很简单。
public class ArrayOfList {
public static void main( String[] args ) {
ArrayList<User>[][] arrayOfLists = new ArrayList[ 3 ][ 3 ];
ArrayList<User> list = new ArrayList<User>();
arrayOfLists[0][0] = list;
User user = new User( 1, 3, 2, 6 );
arrayOfLists[0][0].add( user );
System.out.println( arrayOfLists[0][0].get( 0 ).id );
}
}
我想创建一个二维数组,其中的每个元素都是一个列表,如图所示。
我试过了 ArrayList<List<User>>[][] arrayList = new ArrayList[3][3];
这是正确的解决方案吗?因为当我尝试像下面的代码一样添加元素时,我得到了 null 错误。
List<User> list = new ArrayList<User>();
arrayList[0][0].add(list);
User user = new User(1,3,2,6);
arrayList[0][0].get(0).add(user);
System.out.println(arrayList[0][0].get(0).get(0).id);
这为我编译和运行。请注意,我更改了您对“arrayList”的定义以更好地匹配您的图表。我想这就是你想要的。但是,如果您需要不同的东西,扩展起来很简单。
public class ArrayOfList {
public static void main( String[] args ) {
ArrayList<User>[][] arrayOfLists = new ArrayList[ 3 ][ 3 ];
ArrayList<User> list = new ArrayList<User>();
arrayOfLists[0][0] = list;
User user = new User( 1, 3, 2, 6 );
arrayOfLists[0][0].add( user );
System.out.println( arrayOfLists[0][0].get( 0 ).id );
}
}