Java常用的Arrays函數(shù)舉例詳解
Arrays
sort
int[] array = new int[]{1,20,3};
Arrays.sort(array);// 1 3 20
toString
- 幫助數(shù)組轉(zhuǎn)為字符串
int[] array = new int[]{1,2,3};
System.out.println(Arrays.toString(array));
// [1,2,3]
binarySearch
- 二分查找
int[] array = new int[]{1,2,3};
System.out.println(Arrays.binarySearch(array,2));
// 返回1下標(biāo)
// 第一個(gè)參數(shù),有序的數(shù)組array,要查找的key
equals
- 比較兩個(gè)數(shù)組是否相同,長(zhǎng)度,數(shù)據(jù)內(nèi)容,相同數(shù)組,數(shù)組指針是否為空
- 返回值是boolean
int[] array = new int[]{1,2,3};
int[] array1 = new int[]{1,3,2};
System.out.println(Arrays.equals(array,array1));
// false

fill
- fill對(duì)數(shù)組進(jìn)行填充
int[] array = new int[10]; Arrays.fill(array,0,3,9);// [0,3)區(qū)間填充 Arrays.fill(array,9);// 都填充為9 System.out.println(Arrays.toString(array));
數(shù)組拷貝
copyOf
- copyOf第一個(gè)參數(shù)是數(shù)組,第二個(gè)參數(shù)是數(shù)組的長(zhǎng)度,返回值是一個(gè)數(shù)組
int[] array1 = new int[]{1,2,3};
int[] copy = Arrays.copyOf(array1,array1.length);
// 1 2 3
// 可以當(dāng)成擴(kuò)容使用,剩余空間補(bǔ)零
int[] copy = Arrays.copyOf(array1,array1.length*2);
// 1 2 3 0 0 0
copyOfRange
- 進(jìn)行數(shù)組范圍的拷貝
int[] array1 = new int[]{1,2,3,4,5,6};
int[] copy = Arrays.copyOfRange(array1,0,3);
// 1 2 3
arraycopy
- 直接拷貝到copy數(shù)組中
int[] array1 = new int[]{1,2,3,4,5,6};
int[] copy = new int[array1.length];
System.out.println(array1,0,copy,0,array1.length);
System.out.println(Arrays.toString(copy));
// 1 2 3 4 5 6
取傳過(guò)去的數(shù)組長(zhǎng)度(100)和原數(shù)組長(zhǎng)度(10)的較小值,那就是10

二維數(shù)組
定義
int[][] array = new int[][]{{1,2,3},{4,5,6}};
int[][] array1 = {{1,2,3},{4,5,6}};
int[][] array2 = new int[2][3];

二維數(shù)組的每個(gè)元素都是一個(gè)一維數(shù)組


遍歷
for(int i = 0;i < array.length;i++){
for(int j = 0;j < array[i].length;j++){
System.out.print(array[i][j] + " ");
}
System.out.println();
}
System.out.println();
for(int[] arr : array1){
for(int x : arr){
System.out.print(x + " ");
}
System.out.println();
}
deepToString
- 把二維數(shù)組打印成字符串
int[][] array1 = {{1,2,3},{4,5,6}};
System.out.println(Arrays.deepToString(array1));
// [[1, 2, 3], [4, 5, 6]]
空指針異常
- 不規(guī)則的二維數(shù)組
int[][] array3 = new int[2][];
// 解決方法
array3[0] = new int[]{1,2};
array3[1] = new int[]{1,2,3};
System.out.println(array3[0]);
System.out.println(array3[1]);
for(int i = 0;i < array3.length;i++){
for(int j = 0;j < array3[i].length;j++){
System.out.print(array3[i][j] + " ");
}
System.out.println();
}


二維數(shù)組是特殊的一維數(shù)組內(nèi)存的存儲(chǔ)機(jī)制是線性的,二維數(shù)組的每個(gè)元素又都是一個(gè)一維數(shù)組

總結(jié)
到此這篇關(guān)于Java常用的Arrays函數(shù)舉例詳解的文章就介紹到這了,更多相關(guān)Java常用Arrays函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot自定義starter啟動(dòng)器的實(shí)現(xiàn)思路
這篇文章主要介紹了SpringBoot如何自定義starter啟動(dòng)器,通過(guò)starter的自定義過(guò)程,能夠加深大家對(duì)SpringBoot自動(dòng)配置原理的理解,需要的朋友可以參考下2022-10-10
java web實(shí)現(xiàn)郵箱激活與忘記密碼
這篇文章主要為大家詳細(xì)介紹了java web實(shí)現(xiàn)郵箱激活與忘記密碼、重置密碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
Springboot關(guān)于自定義stater的yml無(wú)法提示問(wèn)題解決方案
這篇文章主要介紹了Springboot關(guān)于自定義stater的yml無(wú)法提示問(wèn)題及解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06
基于Spring Boot的Logback日志輪轉(zhuǎn)配置詳解
本篇文章主要介紹了基于Spring Boot的Logback日志輪轉(zhuǎn)配置詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10
使用IntelliJ IDEA內(nèi)置REST Client工具調(diào)用REST API詳解
文章介紹了在IntelliJ IDEA中使用內(nèi)置RESTClient調(diào)試REST API的方法,強(qiáng)調(diào)其便捷性,指出舊版工具已過(guò)期,新版可自動(dòng)格式化JSON響應(yīng),提升調(diào)試效率2025-09-09
JDK動(dòng)態(tài)代理原理:只能代理接口,不能代理類(lèi)問(wèn)題
這篇文章主要介紹了JDK動(dòng)態(tài)代理原理:只能代理接口,不能代理類(lèi)問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11

