我需要創建n
陣列的列表,並且只填寫每個陣列中的第一條記錄,其中第一個陣列的第一條記錄將等於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]
不能工作了。所以,我的問題是:如何從數組列表中訪問指定的數組中的記錄?
我知道我可以在for()
創建temp
陣列,保存arr.get(a)
到temp[0]
並添加temp
到grupy
但之後,我需要顯示或修改指定的記錄,這樣也無濟於事。
你可以從陣列獲取ARR [指數],然後從列表中你可以得到它l.get (index) –
@bhutto:但是grupy.get(index)返回數組不是數組中的單個值(grupy是數組列表)。 –
是的我知道,問題是與arr.get(a),arr是數組數據結構。 grupy [a] [0]是java列表,您不需要將列表分配爲grupy [a] [0],您需要將列表中的元素添加爲grupy.add(arr [index]) –