數(shù)組的概念
- 1 相同類型數(shù)據(jù)的長度一定的集合叫做數(shù)組。
- 2 數(shù)組是引用對象類型,所以其對象保存在堆內(nèi)存里。
如何定義數(shù)組
- 1 type[] 數(shù)組變量名 = new type[數(shù)組的長度];
- 2 type[] 數(shù)組變量名 = {type_var1, type_var2};
- 3 type[] 數(shù)組變量名 = new type[]{type_var1, type_var2};
String[] strs1 = new String[10];
int nums = {12, 14};
Double ds = new Double[]{new Double(11.2), new Double(13.14)}
- 4 數(shù)組的索引(下標)是從0開始的,最大索引時數(shù)組長度 - 1
- 5 數(shù)組長度一旦定義下來就不能改變了
- 6 數(shù)組變量名指向的是第一個數(shù)組元素的地址
如何初始化數(shù)組
- 1 定義數(shù)組時顯示的用{}來初始化數(shù)組
- 2 使用for循環(huán)來依次為數(shù)組元素賦值
- 3 如果數(shù)組元素是原生數(shù)據(jù)類型,在定義數(shù)組后,數(shù)組中元素的值是該原生數(shù)據(jù)類型的默認值。
- 4 如果數(shù)組元素是引用類型,則在數(shù)組定義后,數(shù)組中元素的值是null
- 5 為數(shù)組中引用類型的元素初始化后,保存的是引用類型的地址,而非對象。
數(shù)組的比較、排序和交換
- 1 數(shù)組的比較
int[] a = {1,2};
int[] b = {1,2};
System.out.println(a.equals(b));
結果輸出是false
因為數(shù)組沒有重寫Object的equals方法,所以比較的還是數(shù)組在堆內(nèi)存中的地址。
- 2 可以使用Arrays的工具類來進行數(shù)組的比較和排序
- 3 對于原生數(shù)據(jù)類型的swap交換,不能使用方法入?yún)斫粨Q,因為傳參只是把參數(shù)傳到方法里,不會改變原始的值。