**
對list去重並保證新增順序主要有三種方式:
方式一,利用hashset不能新增重複資料的特性 由於hashset不能保證新增順序,所以只能作為判斷條件:
private static void removeduplicate(list
<
string
>
list)
}list
.clear();
list
.addall(result);
}
方式二,利用linkedhashset不能新增重複資料並能保證新增順序的特性 :
private static void removeduplicate(list
<
string
>
list)
方式三,利用list的contains方法迴圈遍歷:
private static void removeduplicate(list
<
string
>
list)
}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 listlist list.clear list.addall result...
List集合去重方式及效率對比
list集合相信大家在開發過程中幾乎都會用到。有時候難免會遇到集合裡的資料是重複的,需要進行去除。然而,去重方式有好幾種方式,你用的是哪種方式呢?去重方式效率是否是最高效 最優的呢?今天就給大家講解一下list集合去重的常見及常用的四種方式。01 實現思路 使用兩個for迴圈遍歷集合所有元素,然後進...
清空list List集合去重方式及效率對比
list集合相信大家在開發過程中幾乎都會用到。有時候難免會遇到集合裡的資料是重複的,需要進行去除。然而,去重方式有好幾種方式,你用的是哪種方式呢?去重方式效率是否是最高效 最優的呢?今天就給大家講解一下list集合去重的常見及常用的四種方式。01實現思路 使用兩個for迴圈遍歷集合所有元素,然後進行...