访问阵列列表中的记录

时间:2014-04-20 11:43:06

标签: java arrays arraylist

我需要创建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但是在我之后需要显示或更改指定的记录,这种方式无法提供帮助。

2 个答案:

答案 0 :(得分:2)

int a = 0;
for(Point[] x : grupy)                              
{                                                   
    x[0] = arr[a];
    a++;
}

答案 1 :(得分:0)

如果您使用的是Java 8,则可以将Streams API与forEachmapfilter函数一起使用