定義乙個長度為5的陣列,但是陣列的大小一旦確定就不可以再改變了:
int
arr =
newint[5
];
也可以直接對他進行初始化:
int
arr =
newint
;
原始碼分析傳說中的動態陣列arraylist(),所有資料都會存入它的這個陣列中:
transient object[
] elementdata;
預設初始容量為10:
private
static
final
int default_capacity =
10;
arraylsit幾個常見的方法,第乙個get方法:
public e get
(int index)
private
void
rangecheck
(int index)
首先判斷是否越界,rangecheck下標值,如果越界直接拋異常,否則返回列表中指定位置的元素,在看一下他的set方法,還是需要先判斷越界,然後將指定位置的元素的替換成指定元素。
public e set
(int index, e element)
private
void
rangecheck
(int index)
如果我們需要的空間大於陣列長度的時候,說明陣列不夠用了,需要進行擴容,就會執行下面的grow方法
private
void
grow
(int mincapacity)
還有,>>的使用,數學意義說就是右移一位相當於除2,右移n位相當於除以2的n次方。 資料結構 陣列
建立陣列 大小為50 棧空間存myarray引用 堆空間存乙個大小為50,預設值為0的陣列。棧空間myarray引用指向堆空間該陣列。int myarray new int 50 public class testarray public class testarray if s intarray....
資料結構 陣列
陣列 就是相同型別的資料按一定順序排列的集合,把有限個型別相同的資料元素用乙個名字表示,通過編號來區分。名字即為陣列名,編號即為下標。陣列是最簡單 使用最廣泛的一種資料結構,其實就是一塊連續的記憶體,哪怕物理上不連續,邏輯上也是連續的,連續存放著一組相同型別資料元素。陣列的定義 type 變數名 n...
資料結構 陣列
陣列 陣列是一種佔據連續記憶體並按順序儲存資料的簡單的資料結構。建立陣列時,需要首先指定陣列的容量,然後依據大小分配記憶體。由於有時候我們需要使用陣列的容量不確定,可能開闢的記憶體遠超實際使用的記憶體,所以陣列的空間效率不好。由於陣列在記憶體中是連續的儲存空間,所以它的時間效率很高,可以在o 1 的...