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ù)組的第一位開始查詢該數(shù)組中是否有指定的數(shù)值,存在返回index的數(shù)值,否則返回-1。
6.lastIndexOf():從數(shù)組的最后一位開始往前查詢該數(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)換成對象類型數(shù)組。
24.toPrimitive():將對象類型數(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ì)以簡潔的圖形化方式展示該隊(duì)列底層的實(shí)現(xiàn)原理,需要的朋友可以參考下2023-12-12
idea中如何過濾某些文件不提交的方法實(shí)現(xiàn)
本文主要介紹了idea中如何過濾某些文件不提交,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Java實(shí)現(xiàn)圖片上傳到服務(wù)器并把上傳的圖片讀取出來
在各大網(wǎng)站上都可以實(shí)現(xiàn)上傳頭像功能,可以選擇自己喜歡的圖片做頭像,從本地上傳,今天小編給大家分享Java實(shí)現(xiàn)圖片上傳到服務(wù)器并把上傳的圖片讀取出來,需要的朋友參考下2017-02-02
SpringBoot實(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à)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
SpringBoot實(shí)現(xiàn)Excel讀取的實(shí)例教程
這篇文章主要給大家介紹了關(guān)于SpringBoot實(shí)現(xiàn)Excel讀取的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
SpringMVC實(shí)現(xiàn)文件上傳和下載功能
這篇文章主要為大家詳細(xì)介紹了SpringMVC實(shí)現(xiàn)文件上傳和下載功能 ,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08

