日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Apache commons lang3包ArrayUtils工具使用

發布時間:2025/3/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apache commons lang3包ArrayUtils工具使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ArrayUtils 擁有以下方法:

toString

將一個數組轉換成String,用于打印數組

isEquals

判斷兩個數組是否相等,采用EqualsBuilder進行判斷

toMap

將一個數組轉換成Map,如果數組里是Entry則其Key與Value就是新Map的Key和Value,如果是Object[]則Object[0]為KeyObject[1]為Value

clone

拷貝數組

subarray

截取子數組

isSameLength

判斷兩個數組長度是否相等

getLength

獲得數組的長度

isSameType

判段兩個數組的類型是否相同

reverse

數組反轉

indexOf

查詢某個Object在數組中的位置,可以指定起始搜索位置

lastIndexOf

反向查詢某個Object在數組中的位置,可以指定起始搜索位置

contains

查詢某個Object是否在數組中

toObject

將基本數據類型轉換成外包型數據

isEmpty

判斷數組是否為空(null和length=0的時候都為空)

addAll

合并兩個數組

add

添加一個數據到數組

remove

刪除數組中某個位置上的數據

removeElement

刪除數組中某個對象(從正序開始搜索,刪除第一個)

eg:

????????//?1.打印數組
????????ArrayUtils.toString(new?int[]?{?1,?4,?2,?3?});//?{1,4,2,3}
????????ArrayUtils.toString(new?Integer[]?{?1,?4,?2,?3?});//?{1,4,2,3}
????????ArrayUtils.toString(null,?"I'm?nothing!");//?I'm?nothing!

????????//?2.判斷兩個數組是否相等,采用EqualsBuilder進行判斷
????????//?只有當兩個數組的數據類型,長度,數值順序都相同的時候,該方法才會返回True
????????//?2.1?兩個數組完全相同
????????ArrayUtils.isEquals(new?int[]?{?1,?2,?3?},?new?int[]?{?1,?2,?3?});//?true
????????//?2.2?數據類型以及長度相同,但各個Index上的數據不是一一對應
????????ArrayUtils.isEquals(new?int[]?{?1,?3,?2?},?new?int[]?{?1,?2,?3?});//false
????????//?2.3?數組的長度不一致
????????ArrayUtils.isEquals(new?int[]?{?1,?2,?3,?3?},?new?int[]?{?1,?2,?3?});//?false
????????//?2.4?不同的數據類型
????????ArrayUtils.isEquals(new?int[]?{?1,?2,?3?},?new?long[]?{?1,?2,?3?});//?false
????????ArrayUtils.isEquals(new?Object[]?{?1,?2,?3?},?new?Object[]?{?1,?(long)?2,?3?});//?false
????????//?2.5?Null處理,如果輸入的兩個數組都為null時候則返回true
????????ArrayUtils.isEquals(new?int[]?{?1,?2,?3?},?null);//?false
????????ArrayUtils.isEquals(null,?null);//?true

????????//?3.將一個數組轉換成Map
????????//?如果數組里是Entry則其Key與Value就是新Map的Key和Value,如果是Object[]則Object[0]為KeyObject[1]為Value
????????//?對于Object[]數組里的元素必須是instanceof?Object[]或者Entry,即不支持基本數據類型數組
????????//?如:ArrayUtils.toMap(new?Object[]{new?int[]{1,2},new?int[]{3,4}})會出異常
????????ArrayUtils.toMap(new?Object[]?{?new?Object[]?{?1,?2?},?new?Object[]?{?3,?4?}?});//?{1=2,
????????//?3=4}
????????ArrayUtils.toMap(new?Integer[][]?{?new?Integer[]?{?1,?2?},?new?Integer[]?{?3,?4?}?});//?{1=2,
????????//?3=4}

????????//?4.拷貝數組
????????ArrayUtils.clone(new?int[]?{?3,?2,?4?});//?{3,2,4}

????????//?5.截取數組
????????ArrayUtils.subarray(new?int[]?{?3,?4,?1,?5,?6?},?2,?4);//?{1,5}
????????//?起始index為2(即第三個數據)結束index為4的數組
????????ArrayUtils.subarray(new?int[]?{?3,?4,?1,?5,?6?},?2,?10);//?{1,5,6}
????????//?如果endIndex大于數組的長度,則取beginIndex之后的所有數據

????????//?6.判斷兩個數組的長度是否相等
????????ArrayUtils.isSameLength(new?Integer[]?{?1,?3,?5?},?new?Long[]?{?2L,?8L,?10L?});//?true

????????//?7.獲得數組的長度
????????ArrayUtils.getLength(new?long[]?{?1,?23,?3?});//?3

????????//?8.判段兩個數組的類型是否相同
????????ArrayUtils.isSameType(new?long[]?{?1,?3?},?new?long[]?{?8,?5,?6?});//?true
????????ArrayUtils.isSameType(new?int[]?{?1,?3?},?new?long[]?{?8,?5,?6?});//?false

????????//?9.數組反轉
????????int[]?array?=?new?int[]?{?1,?2,?5?};
????????ArrayUtils.reverse(array);//?{5,2,1}

????????//?10.查詢某個Object在數組中的位置,可以指定起始搜索位置,找不到返回-1
????????//?10.1?從正序開始搜索,搜到就返回當前的index否則返回-1
????????ArrayUtils.indexOf(new?int[]?{?1,?3,?6?},?6);//?2
????????ArrayUtils.indexOf(new?int[]?{?1,?3,?6?},?2);//?-1
????????//?10.2?從逆序開始搜索,搜到就返回當前的index否則返回-1
????????ArrayUtils.lastIndexOf(new?int[]?{?1,?3,?6?},?6);//?2

????????//?11.查詢某個Object是否在數組中
????????ArrayUtils.contains(new?int[]?{?3,?1,?2?},?1);//?true
????????//?對于Object數據是調用該Object.equals方法進行判斷
????????ArrayUtils.contains(new?Object[]?{?3,?1,?2?},?1L);//?false

????????//?12.基本數據類型數組與外包型數據類型數組互轉
????????ArrayUtils.toObject(new?int[]?{?1,?2?});//?new?Integer[]{Integer,Integer}
????????ArrayUtils.toPrimitive(new?Integer[]?{?new?Integer(1),?new?Integer(2)?});//?new?int[]{1,2}

????????//?13.判斷數組是否為空(null和length=0的時候都為空)
????????ArrayUtils.isEmpty(new?int[0]);//?true
????????ArrayUtils.isEmpty(new?Object[]?{?null?});//?false

????????//?14.合并兩個數組
????????ArrayUtils.addAll(new?int[]?{?1,?3,?5?},?new?int[]?{?2,?4?});//?{1,3,5,2,4}

????????//?15.添加一個數據到數組
????????ArrayUtils.add(new?int[]?{?1,?3,?5?},?4);//?{1,3,5,4}

????????//?16.刪除數組中某個位置上的數據
????????ArrayUtils.remove(new?int[]?{?1,?3,?5?},?1);//?{1,5}

????????//?17.刪除數組中某個對象(從正序開始搜索,刪除第一個)
????????ArrayUtils.removeElement(new?int[]?{?1,?3,?5?},?3);//?{1,5}

?

from:http://langgufu.iteye.com/blog/2107430

總結

以上是生活随笔為你收集整理的Apache commons lang3包ArrayUtils工具使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。