java List去重方式及效率對比

2021-08-09 19:20:02 字數 1264 閱讀 3372

對list去重並保證新增順序主要有三種方式:

方式一,利用hashset不能新增重複資料的特性 由於hashset不能保證新增順序,所以只能作為判斷條件:

private

static

void

removeduplicate(listlist)

}list.clear();

list.addall(result);

}

方式二,利用linkedhashset不能新增重複資料並能保證新增順序的特性 :

private

static

void

removeduplicate(listlist)

方式三,利用list的contains方法迴圈遍歷:

private

static

void

removeduplicate(listlist)

}list.clear();

list.addall(result);

}

準備測試程式:

private

static

void

main(string args)

long time = system.currenttimemillis();

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

long time1 = system.currenttimemillis();

system.out.println("time1:"+(time1-time));

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

long time2 = system.currenttimemillis();

system.out.println("time2:"+(time2-time1));

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

long time3 = system.currenttimemillis();

system.out.println("time3:"+(time3-time2));

}

結果為:

time1:329

time2:292

time3:17315

總結:從便捷以及效率上,方式二是最佳選擇,具體原因可以參考hashmap的儲存方式

java List去重方式及效率對比

對list去重並保證新增順序主要有三種方式 方式一,利用hashset不能新增重複資料的特性 由於hashset不能保證新增順序,所以只能作為判斷條件 private static void removeduplicate list string list list clear list addal...

List集合去重方式及效率對比

list集合相信大家在開發過程中幾乎都會用到。有時候難免會遇到集合裡的資料是重複的,需要進行去除。然而,去重方式有好幾種方式,你用的是哪種方式呢?去重方式效率是否是最高效 最優的呢?今天就給大家講解一下list集合去重的常見及常用的四種方式。01 實現思路 使用兩個for迴圈遍歷集合所有元素,然後進...

清空list List集合去重方式及效率對比

list集合相信大家在開發過程中幾乎都會用到。有時候難免會遇到集合裡的資料是重複的,需要進行去除。然而,去重方式有好幾種方式,你用的是哪種方式呢?去重方式效率是否是最高效 最優的呢?今天就給大家講解一下list集合去重的常見及常用的四種方式。01實現思路 使用兩個for迴圈遍歷集合所有元素,然後進行...