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ù)組長(zhǎng)度。
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ù)組的長(zhǎng)度是否一樣,當(dāng)數(shù)組為空視長(zhǎng)度為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的長(zhǎng)度元素進(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?IO網(wǎng)絡(luò)模型實(shí)現(xiàn)解析
這篇文章主要為大家介紹了Java?IO網(wǎng)絡(luò)模型實(shí)現(xiàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Spring @CrossOrigin 注解原理實(shí)現(xiàn)
這篇文章主要介紹了Spring @CrossOrigin 注解原理實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
netty-grpc一次DirectByteBuffer內(nèi)存泄露問題
這篇文章主要介紹了netty-grpc一次DirectByteBuffer內(nèi)存泄露問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
springboot集成ES實(shí)現(xiàn)磁盤文件全文檢索的示例代碼
這篇文章主要介紹了springboot集成ES實(shí)現(xiàn)磁盤文件全文檢索的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11

