我需要创建n
数组列表,并在每个数组中只填充第一条记录,其中包含来自arr
数组的记录(第一个数组的第一个记录将等于来自arr
的第一个记录数组,第二个数组的第一个记录将等于arr
数组等的第二个记录。)。
在C#中它很简单:
List<Point[]> grupy = new List<Point[]>(); //create n array of Point
for (int i = 1; i <= n; i++)
grupy.Add(new Point[10]); //array length will be 10
int a = 0;
foreach (Point[] x in grupy)
{
grupy[a][0] = new Point(arr[a]); //fill first records in all arrays form list
a++;
}
但是我需要Java中的代码,我注意到我无法从列表中调用数组中的记录:
List<Point[]> grupy = new ArrayList<Point[]>(); //create n arrays of Point
for (int i = 1; i <= n; i++)
grupy.add(new Point[10]);
int a = 0;
for(Point[] x : grupy)
{
grupy[a][0] = new Point(arr[a]); //WRONG WAY
a++;
}
grupy.get(a)[0]
也在工作。所以,我的问题是:如何从数组列表中访问数组中的指定记录?
我知道我可以在temp
中创建for()
数组,将arr.get(a)
保存到temp[0]
并将temp
添加到grupy
但是在我之后需要显示或更改指定的记录,这种方式无法提供帮助。
答案 0 :(得分:2)
int a = 0;
for(Point[] x : grupy)
{
x[0] = arr[a];
a++;
}
答案 1 :(得分:0)
如果您使用的是Java 8,则可以将Streams API与forEach
,map
和filter
函数一起使用