Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取对数组列表中记录的访问权限_Java_Arrays_Arraylist - Fatal编程技术网

Java 获取对数组列表中记录的访问权限

Java 获取对数组列表中记录的访问权限,java,arrays,arraylist,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++)

我需要创建
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++;
        }
List grupy=new List()//创建n个点数组

对于(int i=1;i如果您使用java 8,您可以将Streams API与
forEach
map
filter
函数一起使用,您可以从数组arr[index]中获取,从列表中可以获取l.get(index)@bhutto:但是grupy.get(index)从数组(grupy它的数组列表)中不返回一个值。是的,我知道,问题在于arr.get(a),arr是数组数据结构。grupy[a][0]是java列表,您不需要将列表分配为grupy[a][0],您需要将列表中的元素添加为grupy.add(arr[index])谢谢,它有助于保存值,但仍然不知道如何访问指定的记录。例如:my
Point
类可用于计算两点之间的距离。因此我调用
double minimum=grupy[0][0]。距离(另一个点);
-此方法计算从第一个数组表单列表到第一个索引的点到另一个点之间的距离。但是Java不允许调用
grupy[0][0]
。由于grupy是一个列表,您可以使用
point[]mypointArray=grupy.get(0);
。然后只需执行
point myPoint=mypointArray[0];
    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++;
    }
int a = 0;
for(Point[] x : grupy)                              
{                                                   
    x[0] = arr[a];
    a++;
}