java之数组
數組是引用類型,聲明數組并沒有分配空間,則該數組變量的值為null。
類型[] ?數組名;
如:double[] ? data;
二、創建數組
類型[] ?數組名=new 類型[長度];
數組創建,數組里面的元素會被賦值,數值型基本數據類型的默認賦值為0,char類型的默認值為'\u000',boolean型的默認值為false。
三、初始化數組
? ? ? ? ? 數組初始化語句 ?
? ? ? ? ?類型[] ? 數組名={value0,value1,...};
? ? ? ? ?數組初始化語句必須在數組聲明,創建時使用。
? ? ? ? ?類型[] ? 數組名=new 類型[]{value0,value1,...};
? ? ? ? ?類型[] ? 數組名=new 類型[長度]{value0,value1,...}; ? ? ? ? ?//長度必須與花括號里面數據的個數一致
? ? ? ? ?
? ? ? ? new String[0]創建數組,數組的長度為0的空數組。
? ? ? ? ?沒有命令行輸入時,main函數的args是對空數組的引用,而不是null。args.length為0。
四、數組復制
? ? ? 數組復制有三種方法
1) 使用循環語句逐個復制
2)System類中的靜態方法arraycopy
? ? arraycopy(souceArray,srcPos,targetArray,soucePos,length);
? ? souceArray ? ? 源數組
? ??srcPos ? ? ? ? ? ?源數組開始復制下標
? ? targetArray ? ? 目標數組
? ? soucePos ? ? ?目標數組開始保存下標
? ??length ? ? ? ? ? ? 復制的長度
3)使用clone方法復制數組
? ? int[] ? a={1,2,3};
? ? int[] ?b=a.clone();
五、Arrays類
? ? ? ? ?java.util.Arrays類包括許多靜態方法
? ? ? ? sort或者parallelSort方法對數組或部分數組進行排序。
? ? ? ? 例如:
? ? ? ? ?Arrays.sort(a);
? ? ? ? Arrays.parallelSort(a);? ??
?
? ? ? ? Arrays.sort(a,1,3); ? ? ? ? ? ? ? ? ?//對數組a[1]到a[3-1]進行升序排列
? ? ? ??Arrays.parallelSort(a,1,3); ? ? ?//parallelSort方法多處理器時效果更好
? ? ? ? bianrySearch ? 數組必須升序排序好才能使用
? ? ? ? 例如:?Arrays.binarySearch(a,11);
? ? ? ? equals檢測兩個數組是否相等
? ? ? ? 例如:?Arrays.equals(a,b);
? ? ? ? fill方法填充整個數組或部分數組
? ? ? ??例如:
? ? ? ? ?Arrays.fill(a,5); ? ? ? ? ? ? ? //整個數組填充5
? ? ? ? ?Arrays.fill(a,1,3,5); ? ? ? ?//數組a[1]到a[3-1]填充5
六、二維數組或者更高維數組定義
? ? ? ? 類型[][] ?數組名=new 類型[長度1][長度2]; ? ? ?//長度2可以不寫,代表定義一維數組的數組。數組定義是必須指定第一個下標
? ? ? ? 二維數組其實是一個數組,它的元素是數組。各行的長度可以不同。
? ? ? ? 數組名.length獲取數組的長度。
? ??
七、可變參數列表
? ? 類型 ?函數名(類型名...參數名)
? ? java將可變參看作數組對待,一個數組或可變的參數傳遞給可變參數。
? ? 如:
?
int method(int ... data){data[0]=2; } int[] a={1,2,3};method(a);method(1,2,3);?
?
八、foreach迭代
?
? ? ?for(類型 value:數組或者集合){
? ? ? ? ? ? // value是集合或者數組的一個個元素
? ? ?}
? ??foreach迭代的效率比普通的for循環要高
?
總結
- 上一篇: 9个最佳Fire徽标以及如何免费制作自己
- 下一篇: 电脑配置需要换哪些硬件?