數(shù)組不管在任何一門語言中都有重要的位置,必會(huì)弟蚀。
第一部分蚤霞,語法。
<li>定義一個(gè)數(shù)組: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:數(shù)組的長(zhǎng)度义钉。array.length昧绣, 返回值為int類型
第二部分,常用操作捶闸。
先創(chuàng)建一個(gè)空的數(shù)組
int array[] = new int[10];
<li>1. 用 fill(數(shù)組名夜畴,要填充的內(nèi)容)方法 填充數(shù)組
// 1.用某一個(gè)數(shù)填充數(shù)組的所有元素(int為例)
int array[] = new int[10];
Arrays.fill(array, 7);
for (int a : array) {
System.out.print(a + "\t");
}
System.out.println();
fill()還有另一個(gè)重載形態(tài),Arrays.fill(數(shù)組名, 起始索引, 結(jié)束索引, 要填充的值);
// 2.用某一個(gè)值填充某一個(gè)范圍內(nèi)的所有元素(int類型為例)
// 這里要說明一下删壮,第二個(gè)參數(shù)代表起始索引(包括這個(gè)索引的元素)贪绘,第三個(gè)參數(shù)代表截止索引(不包含截止索引的元素)
// 比如說Arrays.fill(array, 0, 4, 3);那么被操作的元素就是array數(shù)組中的第1,2,3,4個(gè)元素(因?yàn)椴话ń刂顾饕脑兀? Arrays.fill(array, 0, 4, 9);
for (int i : array) {
System.out.print(i + "\t");
}
System.out.println();
// 常見錯(cuò)誤央碟,數(shù)組越界税灌。
// 那么什么是數(shù)組越界呢,就是當(dāng)索引大于數(shù)組最大索引時(shí)就會(huì)發(fā)生越界硬耍,程序會(huì)報(bào)ArrayIndexOutOfBoundsException異常
<li>2.對(duì)數(shù)組進(jìn)行排序(升序排列)
Arrays.sort(array);
for (int i : array) {
System.out.print(i + "\t");
}
System.out.println();
// 排序的時(shí)候要注意垄琐,在Java語言中,String類型數(shù)組的排序算法是根據(jù)字典編排順序排序的
// 因此经柴,數(shù)字排在字母前面狸窘,大寫字母排在小寫字母前面
<li>3.復(fù)制數(shù)組
// Arrays類的copyOf()方法 和 copyOfRange()方法
// copyOf(arr, int newlength)方法:arr代表數(shù)組名稱,newlength代表新數(shù)組的長(zhǎng)度
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();
// 寫到這里可以發(fā)現(xiàn)坯认,當(dāng)新復(fù)制的數(shù)組的長(zhǎng)度大于被復(fù)制的數(shù)組時(shí)翻擒,多出來的位置用0填充
// 當(dāng)新復(fù)制的數(shù)組的長(zhǎng)度小于被復(fù)制的數(shù)組時(shí)氓涣,只復(fù)制從0到指定長(zhǎng)度
// 5.復(fù)制給定范圍的數(shù)組
// 這種模式更常用,必會(huì)
// Arrays.copyOfRange(數(shù)組名, 起始索引, 結(jié)束索引),和之前一樣陋气,結(jié)束索引位置的元素不被復(fù)制
// 方法返回的一個(gè)新數(shù)組
int[] array4 = Arrays.copyOfRange(array, 3, 5);
for (int i : array4) {
System.out.print(i + "\t");
}
System.out.println();