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工具使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache下的ArrayUtils工具
- 下一篇: NumberUtils、ArrayUti