在Java中在单个数组元素中存储多个对象
是否可以在一个数组元素中存储多个对象?如果可以,最好的方法是什么?否。数组中的任何给定元素都只是一个元素。不过,元素的类型确实很重要 考虑一个整数数组:在Java中在单个数组元素中存储多个对象,java,arrays,Java,Arrays,是否可以在一个数组元素中存储多个对象?如果可以,最好的方法是什么?否。数组中的任何给定元素都只是一个元素。不过,元素的类型确实很重要 考虑一个整数数组: int[] x = {1, 4, 7, 10}; int[][] x = { {1}, {2, 3}, {4, 5, 6}, {7, 8, 9, 10} }; 一个元素不能“容纳”多个元素 但是现在考虑整数数组: int[] x = {1, 4, 7, 10}; int[][] x = { {1},
int[] x = {1, 4, 7, 10};
int[][] x = {
{1},
{2, 3},
{4, 5, 6},
{7, 8, 9, 10}
};
一个元素不能“容纳”多个元素
但是现在考虑整数数组:
int[] x = {1, 4, 7, 10};
int[][] x = {
{1},
{2, 3},
{4, 5, 6},
{7, 8, 9, 10}
};
每个元素仍然只是一个元素。有四个元素,每种类型为int[]
。然后,每个元素都有一个元素。理论上,你可以有你想要的任意多个层次。它会很快变得混乱
另一种将“多个元素放入一个元素”的方法是编写自己的类,该类以对您最有用的方式保存多个元素,并生成这些元素的数组
注意:上面,我使用了基本数组来演示。但是,这也适用于Java
List
对象:
ArrayList<Integer> x; // list of integers
ArrayList<ArrayList<Integer>> x; // list of ArrayList<Integer> objects, each of which is itself a list of integers
ArrayList<Integer>[] x; // primitive array of ArrayList<Integer> objects
// (I recommend not doing this, it can get confusing)
重新取出这些对象并将它们放入正确的类型是很困难的,所以我不建议这样做
您也可以尝试将列表设置为该类型。您可以将任何内容存储在
对象[]
对象数组中
大概是这样的:
Object[] objArr = new Object[10];
objArr[0] = "String";
objArr[1] = Arrays.asList(1, 2, 4);
objArr[2] = new ArrayList<>();
objArr[3] = 1;
Object[]objArr=新对象[10];
objArr[0]=“字符串”;
objArr[1]=Arrays.asList(1,2,4);
objArr[2]=新的ArrayList();
objArr[3]=1;