Java中操作數(shù)組的Arrays類
引包:位于java.util 包下。
Arrays類包含了各種操作數(shù)組的靜態(tài)方法:
數(shù)組排序:sort(升序排序)重載了各種數(shù)組升序排序方法,舉例幾種:
sort(char[] a)
sort(double[] a)
sort(int[] a)
示例:
public class ArraysTest { public static void main(String[] args) { int[] arrInt = {9,8,7,6,5,4,3,2,1}; Arrays.sort(arrInt); for(int x: arrInt){ System.out.print(x + " "); //打印結(jié)果1 2 3 4 5 6 7 8 9 } } }
數(shù)組查詢:binarySearch(二分查找)重載了各種數(shù)組查詢方法,舉例幾種:
binarySearch(double[] a, double key)
binarySearch(int[] a, int key)
binarySearch(char[] a, char key)
? 第一個(gè)參數(shù)都是傳進(jìn)來的數(shù)組,第二個(gè)參數(shù)是要查找的值。如果存在查詢的值,返回該數(shù)在數(shù)組中的下標(biāo),否則返回(-(insertion point)-1);示例:
public class ArraysTest { public static void main(String[] args) { int[] arrInt = {9,8,7,6,5,4,3,2,1}; Arrays.sort(arrInt); //排序 int t = Arrays.binarySearch(arrInt, 20); //必須要先排序才能使用此方法??! System.out.println(t); //結(jié)果為-10 } }
數(shù)組打印:toString 重載了各種數(shù)組打印方法,舉例幾種:
toString(boolean[] a)
toString(char[] a)
toString(double[] a)
toString(int[] a)
返回結(jié)果是字符串,如果數(shù)組為null,返回null。示例:
public class ArraysTest { public static void main(String[] args) { int[] arrInt = {9,8,7,6,5,4,3,2,1}; String s = Arrays.toString(arrInt); System.out.println(s); //結(jié)果[9, 8, 7, 6, 5, 4, 3, 2, 1] } }
數(shù)組復(fù)制:copyOf 和copyOfRange重載了各種數(shù)組復(fù)制方法,舉例兩種常見方法:
copyOf(int[] original, int newLength) 復(fù)制指定的數(shù)組,用零截取或填充(如有必要),以便復(fù)制具有指定的長(zhǎng)度。
copyOfRange(int[] original, int from, int to) 將指定數(shù)組的指定范圍復(fù)制到新數(shù)組中。
示例:
public class ArraysTest { public static void main(String[] args) { int[] arrInt = {8,7,6,5,4,3,2,1}; int[] arr = Arrays.copyOf(arrInt, 9); //復(fù)制到具有9個(gè)位置的新數(shù)組中 int[] arr2 = Arrays.copyOfRange(arrInt, 1,5); //復(fù)制下標(biāo)1-5元素到新數(shù)組中 System.out.println(Arrays.toString(arr)); //結(jié)果[8, 7, 6, 5, 4, 3, 2, 1, 0] System.out.println(Arrays.toString(arr2)); //結(jié)果[7, 6, 5, 4] } }
數(shù)組比較:equals 重載了各種類型數(shù)組比較,如:
equals(int[] a, int[] a2) 如果兩個(gè)指定的int數(shù)組彼此 相等 ,則返回 true 。
equals(double[] a, double[] a2) 如果兩個(gè)指定的雙精度數(shù)組彼此 相等 ,則返回 true 。
需要注意:
1.比較的兩個(gè)數(shù)組類型需要相同?。?!
2.如果比較的數(shù)組引用都為null,返回true。
示例:
public class ArraysTest { public static void main(String[] args) { int[] arrInt = {7,6,5,4,3,2,1}; int[] arrInt2 = {7,6,5,4,3,2,1}; boolean flag = Arrays.equals(arrInt, arrInt2); System.out.println(flag); //結(jié)果是true } }
數(shù)組填充:fill 重載了各種類型數(shù)組填充方式,以int型舉例兩種填充方式:
fill(int[] a, int val) 將指定的val值分配給指定的int數(shù)組的每個(gè)元素。
fill(int[] a, int fromIndex, int toIndex, int val) 將指定的val值分配給指定的int數(shù)組的指定范圍(區(qū)間左閉右開)的每個(gè)元素。
示例:
public class ArraysTest { public static void main(String[] args) { int[] arr = new int[6]; Arrays.fill(arr, 2, 5, 8); //填充左閉右開區(qū)間下標(biāo)[2,5)的元素 String s = Arrays.toString(arr); System.out.println(s); //打印[0, 0, 8, 8, 8, 0] } }
到此這篇關(guān)于Java中操作數(shù)組的Arrays類的文章就介紹到這了,更多相關(guān)Java Arrays類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java while(scanner.hasNext())無法跳出的解決方案
這篇文章主要介紹了Java while(scanner.hasNext())無法跳出的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Spring boot學(xué)習(xí)教程之快速入門篇
這篇文章主要給大家介紹了關(guān)于Spring boot的相關(guān)資料,本文屬于基礎(chǔ)入門教程,對(duì)各位學(xué)習(xí)Spring boot的新手們具有一定的參考學(xué)習(xí)價(jià)值,,要的朋友們下面來一起看看吧。2017-04-04java使用ffmpeg實(shí)現(xiàn)上傳視頻的轉(zhuǎn)碼提取視頻的截圖等功能(代碼操作)
這篇文章主要介紹了java使用ffmpeg實(shí)現(xiàn)上傳視頻的轉(zhuǎn)碼,提取視頻的截圖等功能,本文圖文并茂給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03一行命令同時(shí)修改maven項(xiàng)目中多個(gè)module的版本號(hào)的方法
這篇文章主要介紹了一行命令同時(shí)修改maven項(xiàng)目中多個(gè)module的版本號(hào)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06springboot中使用Hibernate-Validation校驗(yàn)參數(shù)詳解
這篇文章主要為大家介紹了springboot中使用Hibernate-Validation校驗(yàn)參數(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07