2020-9-23Java學習記錄

mytdqklRakan發表於2020-09-23

Java陣列

Java語言中的陣列是一種引用資料型別。不屬於基本資料型別。陣列的父類是Object

陣列實際上是一個容器,可以同時容納多個元素。(陣列是一個資料的集合)

陣列當中可以儲存基本資料型別的資料,也可以儲存引用資料型別的資料。

陣列因為是引用型別,所以陣列物件是堆記憶體當中。(陣列是儲存在堆當中)

陣列當中如果儲存的是“java物件”的話,實際上儲存的是物件“引用(記憶體地址)”

陣列一旦建立,在java中規定,長度不可變。(陣列長度不可變)

陣列的分類:一維陣列,二維陣列,三維陣列,三維陣列,多維陣列…(一組陣列較多,二維陣列偶爾使用!)

所有的陣列物件都有Length屬性(java自帶的),用來獲取陣列中的元素個數

所有的陣列都是拿“第一個小方框的記憶體地址”作為整個陣列物件的記憶體地址(陣列中首元素的記憶體地址作為整個陣列物件的記憶體地址)

陣列這種資料結構的優點和缺點是什麼?

優點:查詢/查詢/檢索某個下標上的元素時效率極高。可以說是查詢效率最高的一個資料結構。為什麼?

第一:每一個元素的記憶體地址在空間儲存上是連續的

第二:每一個元素型別相同,所以佔用空間大小一樣

第三:知道第一個元素的記憶體地址,知道每一個元素的佔用空間大小,又知道下標,所以通過一個數學表示式就可以計算出某個下標上元素的記憶體地址。直接通過記憶體地址定位元素,所以陣列的檢索效率是最高的。

陣列儲存100個元素,或者儲存100萬個元素,在元素查詢/檢索方面,效率是相同的,因為陣列中元素查詢的時候不會一個一個找,是通過數學表示式計算出來的。(算一個記憶體地址,直接定位)