Java提供了一個(gè)專門用于操作數(shù)組的工具類,即Arrays類,位于Java. util包下【需要導(dǎo)入】。該類提供了一系列方法來(lái)操作數(shù)組,例如排序、賦值、比較、填充數(shù)組 等,用戶直接調(diào)用這些方法即可【例如:Arrays.sort(數(shù)組名)】,這樣就降低了開發(fā)難度。
Arrays工具類如下表所示:
方法 | 返回類型 | 說(shuō)明 |
`equals(array1,array2)` | boolean | 比較兩個(gè)數(shù)組是否相等 |
sort ( array ) | void | 對(duì)數(shù)組array的元素進(jìn)行排序【默認(rèn)升序】 |
toString( array ) | String | 將一個(gè)數(shù)組轉(zhuǎn)換成字符串輸出 |
fill (array,value) | void | 把數(shù)組 array 的所有元素都賦值為 value |
fill(arr,start,end,val) | void | 將指定的值分配給指定數(shù)組的指定范圍的每個(gè)元素 |
copyOf(array,length) | 與array數(shù)據(jù)類型一致 | 把a(bǔ)rray數(shù)組賦值成一個(gè)長(zhǎng)度為length的新數(shù)組文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-639172.html |
binarySearch(array,val) | int | 使用二分查找的方法檢索元素值在數(shù)組array中的下標(biāo) |
compare(array1,array2) | int | 按照字典順序比較數(shù)組,前面的數(shù)組大,返回大于 0 的值,后面的數(shù)組大,返回小于 0 的值. |
copyOfRange(arr,start,end) | 與array數(shù)據(jù)類型一致 | 將指定數(shù)組的指定范圍賦值到新數(shù)組中 |
mismatch(array1,array2) | int | 查找并返回兩個(gè)數(shù)組之間第一個(gè)不匹配的索引,如果未找到不匹配的,則返回 -1. |
mismatch(array1,start1,end1,array2,start2,end2) | int | 查找并返回指定范圍內(nèi)兩個(gè)數(shù)組之間第一個(gè)不匹配的索引,如果未找到不匹配的則返回 -1 |
deepEquals(arr1,arr2) | boolean | 如果兩個(gè)指定數(shù)組,彼此深度相等,則返回 true |
測(cè)試
1. equals()方法
// equals()方法:比較兩個(gè)數(shù)組是否相等
int[] arr1 = {1,2,3,4,5};
int[] arr2 = {1,2,3,4,5};
boolean is = Arrays.equals(arr1, arr2);
System.out.println(is); // true
// 這里要注意了:
//== 比較的是內(nèi)存地址是否相等,在棧里面比較
//equals 比較的是真實(shí)值,在堆里面比較
System.out.println(arr1 == arr2); // false
?2. sort()方法以及toString()方法:
// sort()方法:對(duì)數(shù)組中的元素進(jìn)行排序
int[] arr = {12,45,67,11,2,34};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); //[2, 11, 12, 34, 45, 67]
3.fill()方法:
//fill()方法:填充數(shù)組中的每一個(gè)元素為同一個(gè)值
int[] arr = new int[6];
Arrays.fill(arr,2);
System.out.println(Arrays.toString(arr)); // [2, 2, 2, 2, 2, 2]
4.copyOf()方法:
// copyOf()方法:將一個(gè)數(shù)組賦值到一個(gè)長(zhǎng)度為length的新數(shù)組中
int[] arr = {1,2,4,6,8,0};
int[] newArr = Arrays.copyOf(arr, 7);
System.out.println(Arrays.toString(newArr)); //[1, 2, 4, 6, 8, 0, 0]
5. binarySearch()方法:
前提是要先對(duì)輸在進(jìn)行排序文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-639172.html
// binarySearch()方法:利用二分查找,檢索數(shù)組中的某個(gè)元素的下標(biāo)
int[] arr = {1,2,5,7,9,9,43};
int target = 2; // 目標(biāo)值
int i = Arrays.binarySearch(arr, target);
System.out.println(i);
6.compare() 方法:
// compare() 方法:比較兩個(gè)數(shù)組的大小,前面的大,返回大于0的值,后面的大,返回小于0的值
int[] arr = {1,2,5,7,9,9,43};
int[] arr2 = {1,2,5,7,9,43};
int i = Arrays.compare(arr,arr2);
System.out.println(i); // -1:表示后面的大
7.copyOfRange()方法:
// copyOfRange()方法:將指定數(shù)組的指定范圍復(fù)制到新數(shù)組中
int[] arr = {1,2,5,7,9,9,43};
int[] newArr = Arrays.copyOfRange(arr, 2, 5);
System.out.println(Arrays.toString(newArr)); // [5, 7, 9]
8.System.arraycopy()方法:
/*
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src: 源數(shù)組,被復(fù)制的數(shù)組
srcPos: 源數(shù)組的起始位置,從這一位開始復(fù)制
dest: 目標(biāo)數(shù)組
destPos: 目標(biāo)數(shù)組的位置
length: 復(fù)制多少元素, 不能比 src.length 大
從 src 數(shù)組的 srcPos 位置開始復(fù)制 length 個(gè)元素到 dest 數(shù)組的 destPos
*/
int[] src = new int[]{1, 2, 3, 4, 5, 6};
int[] dest = new int[5];
System.arraycopy(src, 3, dest, 2, 3);
System.out.println(Arrays.toString(dest));
9. mismatch()方法:
int[] arr = {1, 2, 3, 4};
int[] arr1 = {1, 2, 3, 5};
int i = Arrays.mismatch(arr, arr1);
System.out.println(i); // 3
到了這里,關(guān)于JavaSE_2.1——數(shù)組之Arrays工具類的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!