數組不管在任何一門語言中都有重要的位置,必會。
第一部分,語法。
<li>定義一個數組:int[] array = new int[]; 或者 int[] array = new int[]{ 1,2,3,4,5 };
<li>賦值:int[] array = new int[]{ 1,2,3,4,5 };
<li>常用屬性:
length:數組的長度。array.length, 返回值為int類型
第二部分,常用操作。
先創建一個空的數組
int array[] = new int[10];
<li>1. 用 fill(數組名,要填充的內容)方法 填充數組
// 1.用某一個數填充數組的所有元素(int為例)
int array[] = new int[10];
Arrays.fill(array, 7);
for (int a : array) {
System.out.print(a + "\t");
}
System.out.println();
fill()還有另一個重載形態,Arrays.fill(數組名, 起始索引, 結束索引, 要填充的值);
// 2.用某一個值填充某一個范圍內的所有元素(int類型為例)
// 這里要說明一下,第二個參數代表起始索引(包括這個索引的元素),第三個參數代表截止索引(不包含截止索引的元素)
// 比如說Arrays.fill(array, 0, 4, 3);那么被操作的元素就是array數組中的第1,2,3,4個元素(因為不包括截止索引的元素)
Arrays.fill(array, 0, 4, 9);
for (int i : array) {
System.out.print(i + "\t");
}
System.out.println();
// 常見錯誤,數組越界。
// 那么什么是數組越界呢,就是當索引大于數組最大索引時就會發生越界,程序會報ArrayIndexOutOfBoundsException異常
<li>2.對數組進行排序(升序排列)
Arrays.sort(array);
for (int i : array) {
System.out.print(i + "\t");
}
System.out.println();
// 排序的時候要注意,在Java語言中,String類型數組的排序算法是根據字典編排順序排序的
// 因此,數字排在字母前面,大寫字母排在小寫字母前面
<li>3.復制數組
// Arrays類的copyOf()方法 和 copyOfRange()方法
// copyOf(arr, int newlength)方法:arr代表數組名稱,newlength代表新數組的長度
int[] array2 = Arrays.copyOf(array, 13);
for (int i : array2) {
System.out.print(i + "\t");
}
System.out.println();
int[] array3 = Arrays.copyOf(array, 5);
for (int i : array3) {
System.out.print(i + "\t");
}
System.out.println();
// 寫到這里可以發現,當新復制的數組的長度大于被復制的數組時,多出來的位置用0填充
// 當新復制的數組的長度小于被復制的數組時,只復制從0到指定長度
// 5.復制給定范圍的數組
// 這種模式更常用,必會
// Arrays.copyOfRange(數組名, 起始索引, 結束索引),和之前一樣,結束索引位置的元素不被復制
// 方法返回的一個新數組
int[] array4 = Arrays.copyOfRange(array, 3, 5);
for (int i : array4) {
System.out.print(i + "\t");
}
System.out.println();