Java數組的一些使用方法
數組
用於存儲一組同一數據類型數據的容器
數組會對放入其中的數據自動編號,編號是從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數組的一些使用方法