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) // 第一個參數(shù),有序的數(shù)組array,要查找的key
equals
- 比較兩個數(shù)組是否相同,長度,數(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對數(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第一個參數(shù)是數(shù)組,第二個參數(shù)是數(shù)組的長度,返回值是一個數(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
取傳過去的數(shù)組長度(100)和原數(shù)組長度(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ù)組的每個元素都是一個一維數(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)存的存儲機(jī)制是線性的,二維數(shù)組的每個元素又都是一個一維數(shù)組
總結(jié)
到此這篇關(guān)于Java常用的Arrays函數(shù)舉例詳解的文章就介紹到這了,更多相關(guān)Java常用Arrays函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java創(chuàng)建隨機(jī)數(shù)的四種方式總結(jié)
這篇文章主要介紹了java的四種隨機(jī)數(shù)生成方式的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下2022-07-07java面向?qū)ο笤O(shè)計原則之合成復(fù)用原則示例詳解
這篇文章主要介紹了java面向?qū)ο笤O(shè)計原則之合成復(fù)用原則的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-10-10idea下的工具欄中services不見了,如何調(diào)用出來
這篇文章主要介紹了idea下的工具欄中services不見了,如何調(diào)用出來的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05Java實現(xiàn)二維碼QRCode的編碼和解碼與示例解析
本文主要介紹Java實現(xiàn)二維碼QRCode的編碼和解碼,這里給大家一個小示例以便理解,有需要的小伙伴可以參考下2016-08-08通過反射實現(xiàn)Java下的委托機(jī)制代碼詳解
這篇文章主要介紹了通過反射實現(xiàn)Java下的委托機(jī)制代碼詳解,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12