1. 程式人生 > >Java數組的一些使用方法

Java數組的一些使用方法

exce 查找 自動 一個 引用 開始 釋放空間 而是 取數

數組

用於存儲一組同一數據類型數據的容器

數組會對放入其中的數據自動編號,編號是從0開始的---下標

定義格式

數據類型[] 數組名 = new 數據類型[數組的大小];---可以先聲明再初始化

int[] arr = new int[5];---定義了一個最多能存儲5的整數的數組

arr[3] = 4;

arr[3]---通過數組名[下標]的形式來獲取數組元素或者給對應的位置賦值

數據類型[] 數組名 = new 數據類型[]{元素1,元素2……};

int[] arr = new int[]{2,5,1,6,8};---在定義好數組中的初始元素的同時定義好了數組的大小,不能在改變大小

數據類型[] 數組名 = {元素1,元素2……};---不可以先聲明再初始化

int[] arr = {2,5,3,6,1,8,9};

內存

棧內存、堆內存、方法區、本地方法棧(和其他語言交互)、寄存器(匯編)

棧內存

可以用於存儲變量,棧內存對存入其中的變量不會自動賦值,變量在使用完成之後會立即移出棧內存釋放空間

堆內存

用於存儲對象的,堆內存對於存入其中的元素會自動的賦予初始值---byte/short/int-0,long-0L;float-0.0f,double-0.0,char- ‘\u0000’,boolean-false,引用數據類型的默認值都是null,對象使用完成之後不會立即移出堆內存,而是在不定的某個時刻被回收

技術分享

技術分享

技術分享

技術分享

技術分享

數組的應用

1. 獲取數組元素---數組名[下標]

2. 獲取數組的長度---數組名.length

3. 遍歷數組---通過獲取對應下標來獲取對應位置上的元素----O(n)

for(int i : arr){----增強for循環。把數組中的每個元素作為單獨的變量來使用

System.out.println(i);

}

4. 數組元素排序

技術分享

技術分享

Arrays.sort(arr);---會自動對數組排序,默認是升序排列

5. 獲取數組元素的最值---遍歷

6. 獲取元素的位置---遍歷

如果元素有序,可以使用折半查找---O(log2n)

7. 數組的反轉

8. 數組的擴容--數組的復制

int[] arr = {1,2,4,6,1};

int[] arr2 = new int[8];

System.arraycopy(源數組,源數組中的起始下標,目標數組,存放的起始下標,復制的元素的個數);

源數組 = Arrays.copyOf(源數組,擴容之後的長度);

arr = Arrays.copyOf(arr,2);

int[] arr2 = new int[2];

if(擴容之後的長度 < arr.length){

System.arraycopy(arr,0,arr2,0,擴容之後的長度)

} else {

System.arraycopy(arr,0,arr2,0,arr.length)

}

arr = arr2;

註意:

如果下標超過範圍,編譯無錯,運行時會出現ArrayIndexOutOfBoundsException---下標越界異常

Java數組的一些使用方法