CollectionUtils常用方法 - commons.collections常用工具类

addAll

添加数组数据到集合

String[] strArray = {"aaa", "bbb", "ccc"};
List strList = new ArrayList();
CollectionUtils.addAll(strList, strArray);

▶ Examples

[aaa, bbb, ccc]

 

addAll

添加集合数据到另一个集合

List list = Arrays.asList(new String[]{"AAA", "BBB", "CCC"});
List list1 = new ArrayList<>();
CollectionUtils.addAll(list1, list.iterator());

▶ Examples

[AAA, BBB, CCC]

 

addAll

添加集合数据到另一个集合

// Hashtable ht = new Hashtable();
// ht.put("1", "One");
// ht.put("2", "Two");
// ht.put("3", "Three");

Vector ht = new Vector();
ht.add("One");
ht.add("Two");
ht.add("Three");
List> list3 = new ArrayList<>();
CollectionUtils.addAll(list3,ht.elements());

▶ Examples

[One, Two, Three]

 

addIgnoreNull

添加数据到集合,忽略null值

CollectionUtils.addIgnoreNull(list1, null);

▶ Examples

[]

 


List list1 = Arrays.asList(new String[]{"1", "4", "6", "7"});
List list2 = Arrays.asList(new String[]{"6", "9"});

removeAll

删除元素集合

Collection collection = CollectionUtils.removeAll(list1, list2);

▶ Examples

[1, 4, 7]

 


List list1 = Arrays.asList(new String[]{"1", "4", "6", "7"});
List list2 = Arrays.asList(new String[]{"1", "3", "6", "9"});

 

union

并集

CollectionUtils.union(list1, list2);

▶ Examples

[1, 3, 4, 6, 7, 9]

 

intersection

交集

CollectionUtils.intersection(list1, list2)

▶ Examples

[1, 6]

 

disjunction

交集的补集

CollectionUtils.disjunction(list1, list2);

▶ Examples

[3, 4, 7, 9]

 

subtract

差集

CollectionUtils.subtract(list1, list2);

▶ Examples

[4, 7]

 

retainAll

返回集合2在集合1所存在的数据,返回的是一个新的集合

Collection collection = CollectionUtils.retainAll(list1, list2);

▶ Examples

[1, 6]

 

reverseArray

数组反转

String[] arr = new String[]{"1", "4", "6", "7"};
CollectionUtils.reverseArray(arr);

▶ Examples

["7","6","4","1"]

 


List list1 = Arrays.asList(new String[]{"1", "4", "6", "7"});

getCardinalityMap

返回每个元素出现的个数

Map cardinalityMap = CollectionUtils.getCardinalityMap(list1);

▶ Examples

[1, 6]

 

cardinality

返回对象在集合中出现的次数

int cardinality = CollectionUtils.cardinality("9", list2);

▶ Examples

1

 

forAllDo

对集合中的每个元素执行给定的闭包,如果输入集合或闭包为null,则不会进行任何更改。

 

▶ Examples

 

 

get

获取集合、Map,数组指定索引处远处

Object o = CollectionUtils.get(list2, 3);

 Examples

9

 

collect

对集合中某些些元素进行操作,并返回操作后的元素集合

Collection collect = CollectionUtils.collect(list2.iterator(), input -> {
    return input += "a";
});
Collection collect2 = CollectionUtils.collect(list2, input -> {
    return input += "a";
});

 Examples

[2a, 3a, 61a, 9a]

 

collect

对集合中某些些元素进行操作,并将操作后的元素封装带第3个参数集合中,第3个集合返回

Collection collect = CollectionUtils.collect(list2.iterator(), input -> {
    return input += "a";
},new ArrayList());
Collection collect2 = CollectionUtils.collect(list2, input -> {
    return input += "a";
},new ArrayList());

 Examples

[2a, 3a, 61a, 9a]

 


isEmpty

判断集合是否为空,只对Collection及子类有效

CollectionUtils.isEmpty(new Array());

▶ Examples

true

 

isNotEmpty

判断集合是否为空,只对Collection及子类有效

CollectionUtils.isNotEmpty(new Array());

▶ Examples

false

 

sizeIsEmpty

检查指定的collection / array / iterator是否为空。

CollectionUtils.sizeIsEmpty(new ArrayList())

▶ Examples

true

 

isEqualCollection

判断两个集合是否相等

CollectionUtils.isEqualCollection(list1, list2);

▶ Examples

false

 

isProperSubCollection

判断集合1是否小于集合2

List testList = Arrays.asList(new Integer[]{1, 2, 3});
List testList2 = new ArrayList(0){
    {
        add(1);
    }
};
CollectionUtils.isProperSubCollection(testList2,testList);

 Examples

true

 

isSubCollection

判断集合1和集合2是否存在交集

List testList = Arrays.asList(new Integer[]{1, 2, 3});
List testList2 = new ArrayList(0){
    {
        add(1);
    }

};
CollectionUtils.isSubCollection(testList2, testList);

 Examples

true

 

List decorate = FixedSizeList.decorate(Arrays.asList("zhong", "guo", "ren"))

maxSize

返回集合最大大小,此方法使用BoundedCollection接口来确定完整状态。如果集合未实现此接口,则返回false。

CollectionUtils.maxSize(decorate)

 Examples

3

 

isFull

判断集合是否是一个固定长度的集合,此方法使用BoundedCollection接口确定最大大小。如果集合未实现此接口,则返回-1。

CollectionUtils.isFull(decorate)

 Examples

true

 


List list1 = Arrays.asList(new String[]{"1", "4", "6", "7"});
List list2 = Arrays.asList(new String[]{"1", "3", "6", "9"});

containsAny

判断两个集合是否存在交集

CollectionUtils.containsAny(list1, list2)

▶ Examples

true

 


List list1 = Arrays.asList(new String[]{"1", "2", "3"});

filter

条件过滤,如果testList为null,不进行任何操作

CollectionUtils.filter(testList, itm->{
    return Integer.valueOf(itm.toString())>2;
});

▶ Examples

[3] // tesetList

 

countMatches

返回符合条件的个数

int resultMatchNum= CollectionUtils.countMatches(testList, itm->{
    return Integer.valueOf(itm.toString())>1;
});

▶ Examples

2 // resultMatchNum

 

exists

判断是否存在符合条件的元素

boolean resultExists=CollectionUtils.exists(testList, itm->{
    return Integer.valueOf(itm.toString())>2;
});

▶ Examples

true // resultExists

 

find

返回符合条件的数据,注意:只返回一个

Object reusltFindObject=CollectionUtils.find(testList, itm->{
    return Integer.valueOf(itm.toString())>1;
});

▶ Examples

2 // resultFindObject

 

select

返回符合条件的数据,返回一个集合

Collection resultSelect=CollectionUtils.select(testList, itm->{
    return Integer.valueOf(itm.toString())>1;
});

▶ Examples

[2, 3] // resultSelect

 

select

返回符合条件的数据,并封装到传入的集合中

List testList2 = new ArrayList(){
    {
        add(1);
    }
};
CollectionUtils.select(testList, itm->{
    return Integer.valueOf(itm.toString())>1;
}, testList2);

▶ Examples

[1, 2, 3] // testList2

 

selectRejected

和select结果相反,返回不符合条件的collection

Collection resultSelectReject=CollectionUtils.selectRejected(testList, itm->{
    return Integer.valueOf(itm.toString())>1;
});

▶ Examples

[1]  // resultSelectReject

 

selectRejected

和select结果相反,将不符合条件的元素,封装到传入的集合

List testList2 = new ArrayList(){
    {
        add(1);
    }
};
Collection resultSelectReject=CollectionUtils.selectRejected(testList, itm->{
    return Integer.valueOf(itm.toString())>1;
});

▶ Examples

[1, 1] // resultSelectReject

 

predicatedCollection

断言,都符合返回集合,否则返回 java.lang.IllegalArgumentException 异常

Collection resultCollect=CollectionUtils.predicatedCollection(testList, itm->{
    return Integer.valueOf(itm.toString())>1;
});

 Examples

[1, 2, 3] // resultCollect

 

transform

对每个元素进行操作,操作直接影响传入的集合

CollectionUtils.transform(list1, input -> input+"@");

▶ Examples

["1@","4@","6@","7@"]

 

 

synchronizedCollection

返回同步的集合

Collection collection = CollectionUtils.synchronizedCollection(new ArrayList());

▶ Examples

 

 

unmodifiableCollection

对复制一份不可修改的集合,原集合改变,则集合改变,但复制的集合不可修改添加

Collection c = new ArrayList<>();
Collection s = CollectionUtils.unmodifiableCollection(c);
c.add("boy");
c.add("love");
c.add("girl");
 // s.add("have a error");报错
System.out.println(s);

▶ Examples

[boy, love, girl]

 

你可能感兴趣的:(❶,必须熟悉的常用库,#)