集合求差集之能用set用set

2021-10-06 13:18:02 字數 815 閱讀 6160

如題:集合去重removeall是少不了的,set效率吊打list,有重複集業務沒關係,removeall()裡面用set總沒錯吧。

setset1 = new hashset();

setset2 = new hashset();

listlist1 = new arraylist();

listlist2 = new arraylist();

for(int i=0;i<100000;i++)

system.out.println(new date());

set1.removeall(set2);

system.out.println(new date());

list1.removeall(set2);

system.out.println(new date());

set1.removeall(list2);

system.out.println(new date());

list1.removeall(list2);

system.out.println(new date());

執行結果如下圖:

原因有空再說。

順便提一句:

mybatis 返回得list是arraylist,可以getclass().getname()一下。

原始碼裡面沒有set介面,所以一般自己將list轉set就可以了,這個效率很快,100w的幾秒就好了。

5 03 集合框架 set集合

一 set集合概述 乙個不包含重複元素的 collection。更確切地講,set 不包含滿足e1.equals e2 的元素對e1和e2,並且最多包含乙個 null 元素。正如其名稱所暗示的,此介面模仿了數學上的 set 抽象。在所有構造方法以及 add equals 和 hashcode 方法的...

Java集合中的集 Set

set也是乙個介面,他實現了collection和iterable兩個介面,因此,set是乙個集合,同時,我們也可以使用迭代器遍歷set。set是乙個介面,我們當然不能例項化介面,所以,我們一般實際使用的set有 hashset hashset儲存元素的策略,是使用一中稱為 雜湊表 的資料結構,因此...

08 集合對映 set

實際上,set這種集合對映我們在前面已經學習關聯關係對映時已經用過了,實體類 實體類都在在資料庫中有對應的表 中有一對多或者多對多的關係,並且我們可以通過某一側訪問到另一側,就是通過在類中設定 set集合並配置set對映來實現的。在hibernate配置中有兩種資料型別,一種是值型別,另一種是實體型...