數組-二維數組(內存分布,相關運用)
前言:平時用的數組機會也不少,但對二維數組的總結較少。對二維數組的內存分布更是沒有了解過。今天對二維數組的內存分布和相關運用進行了重新認識和歸納。
二維數組—數組中的數組。
(在這之前,沒有深入思考這句話。後悔莫及!!!)
格式一 例如:
int[][] arr = new int[3][2];
一、我們先來創建一個二維數組。
1、創建一個數組。new [];
2、這個數組裡裝的是什麼。還是數組。new [][];
3、數組的數組(小數組)裡裝的是什麼。是int元素。new int[][];
4、大數組裡有幾個小數組。new int[3][];
5、小數組裡有幾個元素。new int[3][2];
6、賦值符號左邊定義一個數組類型變量。[] arr =
7、數組裡裝的是什麼。還是數組。[][] arr =
8、小數組裡裝的什麼元素。int[][] arr =
小結:對於格式一。創建一個二維數組,該數組中有3個一位數組,每一個一維數組中有2個元素。
格式二 例如:
int[][] arr = new int[3][];
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];
二、對格式二的深入認識。
1、二維數組中創建了3個數組。
2、每個二維數組都是默認初始化值null。
3、可以對這三個二維數組分別進行初始化。(每個一維數組有多少個元素不定。)
三、二維數組的內存簡述。
1、大數組中創建時,會為其“元素”默認初始化為null。因為小數組為實體,不存在時用null來表示空引用(指向)。
2、實體在內存堆中都有獨立的空間分配。
3、對於“int[][] arr = new int[3][2];”,相當於在堆中創建了四個一維數組,大數組中裝的是小數組的地址,小數組中裝的是int元素。
四、二維數組的靜態初始化。
int[][] arr = {{2,3,1},{66},{84,2,44,30,92}};
五、二維數組的長度獲取方式。
arr.length //表示小數組的個數。
arr[1].length //表示二維數組中角標為1的小數組的元素個數。
六、二維數組的遍歷。
需要for的嵌套使用。
For(intx=0;x
{
For(int y=0;y
{
System.out.print(“arr[“+x+”][“+y+”]="+arr[x][y]);
}
System.out.println();
}
七、二維數組什麼時候用?
記住一個規律:
數據多了——用數組。
數組多了——用二維數組。
(當然用map集合大多數能取代二維數組。)
如有好的建議,可留言或發至筆者郵箱:[email protected]