CollectionUtils工具類的常用方法

2021-10-06 22:31:56 字數 3797 閱讀 3255

集合判斷: 

例1: 判斷集合是否為空:

collectionutils.isempty(null): true

collectionutils.isempty(new arraylist()): true  

collectionutils.isempty(): false

例2: 判斷集合是否不為空:

collectionutils.isnotempty(null): false

collectionutils.isnotempty(new arraylist()): false

collectionutils.isnotempty(): true

collectionutils在真實專案中,是乙個非常好用的工具類,使用非常頻繁。它可以使**更加簡潔和安全。剛好在工作中利用這個工具類重構**,順便總結下分享分享:

並集

@test

public void testunion();

string arrayb = new string ;

listlista = arrays.aslist(arraya);

listlistb = arrays.aslist(arrayb);

//2個陣列取並集

system.out.println(arrayutils.tostring(collectionutils.union(lista, listb)));

//[a, b, c, d, e, f, g, h, k]

}

交集

@test

public void testintersection();

string arrayb = new string ;

listlista = arrays.aslist(arraya);

listlistb = arrays.aslist(arrayb);

//2個陣列取交集

system.out.println(arrayutils.tostring(collectionutils.intersection(lista, listb)));

//[b, d, f]

}

交集的補集(析取)

@test

public void testdisjunction();

string arrayb = new string ;

listlista = arrays.aslist(arraya);

listlistb = arrays.aslist(arrayb);

//2個陣列取交集 的補集

system.out.println(arrayutils.tostring(collectionutils.disjunction(lista, listb)));

//[a, c, e, g, h, k]

}

差集(扣除)

@test

public void testsubtract();

string arrayb = new string ;

listlista = arrays.aslist(arraya);

listlistb = arrays.aslist(arrayb);

//arraya扣除arrayb

system.out.println(arrayutils.tostring(collectionutils.subtract(lista, listb)));

//[a, c, e]

}

集合是否為空

@test

public void testisempty()

class girl extends person{}

listfirst = new arraylist<>();

listsecond = null;

listboy = new arraylist<>();

//每個男孩心裡都裝著乙個女孩

boy.add(new girl());

//判斷集合是否為空

system.out.println(collectionutils.isempty(first)); //true

system.out.println(collectionutils.isempty(second)); //true

system.out.println(collectionutils.isempty(boy)); //false

//判斷集合是否不為空

system.out.println(collectionutils.isnotempty(first)); //false

system.out.println(collectionutils.isnotempty(second)); //false

system.out.println(collectionutils.isnotempty(boy)); //true

}

集合是否相等

@test

public void testisequal()

class girl extends person

listfirst = new arraylist<>();

listsecond = new arraylist<>();

first.add(1);

first.add(2);

second.add(2);

second.add(1);

girl goldgirl = new girl();

listboy1 = new arraylist<>();

//每個男孩心裡都裝著乙個女孩

boy1.add(new girl());

listboy2 = new arraylist<>();

//每個男孩心裡都裝著乙個女孩

boy2.add(new girl());

//比較兩集合值

system.out.println(collectionutils.isequalcollection(first,second)); //true

system.out.println(collectionutils.isequalcollection(first,boy1)); //false

system.out.println(collectionutils.isequalcollection(boy1,boy2)); //false

listboy3 = new arraylist<>();

//每個男孩心裡都裝著乙個女孩

boy3.add(goldgirl);

listboy4 = new arraylist<>();

boy4.add(goldgirl);

system.out.println(collectionutils.isequalcollection(boy3,boy4)); //true

}

不可修改的集合

我們對c進行操作,s也同樣獲得了和c相同的內容,這樣就可以避免其他人員修改這個s物件。有時候需要對它進行保護,避免返回結果被人修改。

@test

public void testunmodifiablecollection()

collections.unmodifiablecollection可以得到乙個集合的映象,它的返回結果是不可直接被改變,否則會提示錯誤

工具類Collections的三個常用方法

集合工具類collections 1.addall 集合物件,集合引數型別的元素1,集合引數型別的元素2,集合引數型別的元素3.用於新增多個屬性 2.shuffle 用於隨機打亂集合的順序 3.sort 用於排序,預設公升序排序,1.但是對於自定義的類 需要 實現comparable介面,並重寫pu...

js常用的工具類

根據傳入id獲取js物件 param id 入參id returns function obj id 根據傳入id獲取js物件的值 param id 入參id returns function val id else 去掉字串前後的空格 param str 入參 要去掉空格的字串 returns f...

java StringUtils工具類常用的方法

前言 工作中看到專案組裡的大牛寫 大量的用到了stringutils工具類來做字串的操作,便學習整理了一下,方便查閱。stringutils.strip 000000134 76539000 0 134 76539 stringutils.contains true stringutils.cont...