Java基礎(chǔ)類之ArrayUtils工具類詳解
1、引入pom依賴
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.11</version> </dependency>
2、ArrayUtils中的方法:
1.add():
將給定的數(shù)據(jù)添加到指定的數(shù)組中,返回一個(gè)新的數(shù)組。
2.addAll():
合并兩個(gè)數(shù)組。
3.contains():
檢查該數(shù)據(jù)在該數(shù)組中是否存在,返回一個(gè)boolean值。
4.getLength():
返回該數(shù)組長度。
5.indexOf():
從數(shù)組的第一位開始查詢?cè)摂?shù)組中是否有指定的數(shù)值,存在返回index的數(shù)值,否則返回-1。
6.lastIndexOf():
從數(shù)組的最后一位開始往前查詢?cè)摂?shù)組中是否有指定的數(shù)值,存在返回index的數(shù)值,否則返回-1。
7.Insert():
向指定的位置往該數(shù)組添加指定的元素,返回一個(gè)新的數(shù)組。
8.isEmpty():
判斷該數(shù)組是否為空,返回一個(gè)boolean值。
9.isNotEmpty():
判斷該數(shù)組是否為空,而不是null。
10.isSameLength():
判斷兩個(gè)數(shù)組的長度是否一樣,當(dāng)數(shù)組為空視長度為0。返回一個(gè)boolean值。
11.isSameType():
判斷兩個(gè)數(shù)組的類型是否一樣,返回一個(gè)boolean值。
12.isSorted():
判斷該數(shù)組是否按照自然排列順序排序,返回一個(gè)boolean值。
13.nullToEmpty():
14.remove():
刪除該數(shù)組指定位置上的元素,返回一個(gè)新的數(shù)組。
15.removeAll():
刪除指定位置上的元素,返回一個(gè)新的數(shù)組。
16.removeAllOccurences():
從該數(shù)組中刪除指定的元素,返回一個(gè)新的數(shù)組。
17.removeElement():
從該數(shù)組中刪除第一次出現(xiàn)的指定元素,返回一個(gè)新的數(shù)組。
18.removeElements():
從該數(shù)組中刪除指定數(shù)量的元素,返回一個(gè)新的數(shù)組。
19.reverse():
數(shù)組反轉(zhuǎn)。也可以指定開始和結(jié)束的反轉(zhuǎn)位置。
20.subarray():
截取數(shù)組(包頭不包尾),返回一個(gè)新的數(shù)組。
21.swap():
指定該數(shù)組的兩個(gè)位置的元素交換或者指定兩個(gè)位置后加len的長度元素進(jìn)行交換。
22.toMap():
將數(shù)組轉(zhuǎn)換成Map,返回一個(gè)map的Object的集合。
23.toObject():
將原始數(shù)據(jù)類型的數(shù)組轉(zhuǎn)換成對(duì)象類型數(shù)組。
24.toPrimitive():
將對(duì)象類型數(shù)組轉(zhuǎn)換成原始數(shù)據(jù)類型數(shù)組。
25.toString():
將數(shù)組輸出為Stirng,返回一個(gè)字符串。
26.toStringArray():
將Object數(shù)組轉(zhuǎn)換為String數(shù)組類型。
3、舉例
public class ArraryTest { public static void main(String[] args) { int []array={4,5,9}; //add()添加方法結(jié)果為:{4,5,9,6} int[] newArray=ArrayUtils.add(array, 6); System.out.println(ArrayUtils.toString(newArray)); //addAll()方法,結(jié)果為:{4,5,9,5,9,6,7} int []arrayAll={4,5,9}; int[] newArrayAll=ArrayUtils.addAll(arrayAll,5,9,6,7); System.out.println(ArrayUtils.toString(newArrayAll)); //contains():結(jié)果為:true、false System.out.println(ArrayUtils.contains(arrayAll, 9)); System.out.println(ArrayUtils.contains(arrayAll, 3)); //getLength():結(jié)果為3 System.out.println(ArrayUtils.getLength(arrayAll)); //indexOf():2。 //indexOf(newArrayAll, 9,3):3是指定從哪一位開始查找,返回結(jié)果4 System.out.println(ArrayUtils.indexOf(newArrayAll, 9)); System.out.println(ArrayUtils.indexOf(newArrayAll, 9,3)); //lastIndexOf()返回結(jié)果是4、2 System.out.println(ArrayUtils.lastIndexOf(newArrayAll, 9)); System.out.println(ArrayUtils.lastIndexOf(newArrayAll, 9,3)); //insert():結(jié)果為{4,5,3,9} int [] arr=ArrayUtils.insert(2, arrayAll, 3); System.out.println("insert"+ArrayUtils.toString(arr)); //isEmpty():結(jié)果為false、true int []a=null; System.out.println(ArrayUtils.isEmpty(arr)); System.out.println(ArrayUtils.isEmpty(a)); //isNotEmpty():結(jié)果是false、true System.out.println("isNotEmpty:"+ArrayUtils.isNotEmpty(a)); System.out.println("isNotEmpty:"+ArrayUtils.isNotEmpty(arr)); //isSorted():結(jié)果為false和true int[]sort1={5,6,9,1}; int [] sort2={1,6,8,9}; System.out.println("sort1:"+ArrayUtils.isSorted(sort1)); System.out.println("sort2:"+ArrayUtils.isSorted(sort2)); //remove():返回結(jié)果為{5,6,1} int [] newRe=ArrayUtils.remove(sort1, 2); for(int nr:newRe){ System.out.print(nr); } //reverse():返回new reverse:{1,9,6,5} ArrayUtils.reverse(sort1); System.out.println("new reverse:"+ArrayUtils.toString(sort1)); //subarray():返回結(jié)果subarray:{3,9} int[] sub={7,5,3,9,8,4}; int [] newsub=ArrayUtils.subarray(sub, 2, 4); System.out.println("subarray:"+ArrayUtils.toString(newsub)); Object[] subs={7,5,3,9,8,4}; Map<Object, Object>map=ArrayUtils.toMap(subs); } }
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
java并發(fā)編程中的SynchronousQueue實(shí)現(xiàn)原理解析
這篇文章主要介紹了java并發(fā)編程中的SynchronousQueue實(shí)現(xiàn)原理解析,SynchronousQueue是一個(gè)比較特別的隊(duì)列,此隊(duì)列源碼中充斥著大量的CAS語句,理解起來是有些難度的,為了方便日后回顧,本篇文章會(huì)以簡(jiǎn)潔的圖形化方式展示該隊(duì)列底層的實(shí)現(xiàn)原理,需要的朋友可以參考下2023-12-12idea中如何過濾某些文件不提交的方法實(shí)現(xiàn)
本文主要介紹了idea中如何過濾某些文件不提交,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Java實(shí)現(xiàn)圖片上傳到服務(wù)器并把上傳的圖片讀取出來
在各大網(wǎng)站上都可以實(shí)現(xiàn)上傳頭像功能,可以選擇自己喜歡的圖片做頭像,從本地上傳,今天小編給大家分享Java實(shí)現(xiàn)圖片上傳到服務(wù)器并把上傳的圖片讀取出來,需要的朋友參考下2017-02-02SpringBoot實(shí)現(xiàn)讀取YML,yaml,properties文件
yml,yaml,properties三種文件都是用來存放配置的文件,一些靜態(tài)數(shù)據(jù),配置的數(shù)據(jù)都會(huì)存放到里邊。本文主要為大家整理了SpringBoot實(shí)現(xiàn)讀取YML,yaml,properties文件的方法,需要的可以參考一下2023-04-04用Java連接sqlserver數(shù)據(jù)庫時(shí)候幾個(gè)jar包的區(qū)別分析
這篇文章主要介紹了用Java連接sqlserver數(shù)據(jù)庫時(shí)候幾個(gè)jar包的區(qū)別分析,需要的朋友可以參考下2014-10-10如何動(dòng)態(tài)替換Spring容器中的Bean
這篇文章主要介紹了如何動(dòng)態(tài)替換Spring容器中的Bean,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08SpringBoot實(shí)現(xiàn)Excel讀取的實(shí)例教程
這篇文章主要給大家介紹了關(guān)于SpringBoot實(shí)現(xiàn)Excel讀取的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12SpringMVC實(shí)現(xiàn)文件上傳和下載功能
這篇文章主要為大家詳細(xì)介紹了SpringMVC實(shí)現(xiàn)文件上傳和下載功能 ,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08