91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中List集合中的重復數據怎么去除

發布時間:2020-07-20 16:12:38 來源:億速云 閱讀:348 作者:小豬 欄目:編程語言

這篇文章主要為大家展示了Java中List集合中的重復數據怎么去除,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

1.循環list中的所有元素然后刪除重復

public class duplicatRemoval {
public static List removeDuplicate(List list){
for(int i=0;i<list. size()-1;i++){
for(int j=list.size()-1;j>i;j--){
if(list. get(j). equals(list.get(i))){
list.remove(j);
}
}
}
return list;
}
}

總結:

兩層循環,外層循環從第一個元素向最后一個元素循環,內層循環是從最后一個元素向外層循環元素的當前元素循環。比較兩個元素是否相等,如果相等,移除靠后的元素來進行去重。這種方法時間復雜度大于O(n),小于O(N&sup2;)

2.通過HashSet剔除重復元素

public class duplicatRemoval {
public static List removeDuplicate(List list) {
HashSet hashSet = new HashSet(list) ;
list.clear();
list.addAll(hashSet);
return list;
}
}

總結:

此種方式是利用了Set的特性:元素不可重復,其底層原理是先計算每個對象的hash值,再比較元素值是否相同,如果相同,則保留最新的。

3.刪除ArrayList中重復元素,保持順序

public class duplicatRemoval {
public static void removeDuplicateWithOrder(List list) {
Set set = new HashSet( );
List newList = new ArrayList();
for (Iterator iter = list. iterator(); iter. hasNext();) {
0bject element= iter.next( );
if (set. add( element) )
newList.add( element);
}
list.clear();
list.addAll(newList);
System. out. println(”remove duplicate"+ list);
}
}

4.把list里的對象遍歷一遍,用list.contain(),如果不存在就放入到另外一個list集合中

public class duplicatRemoval {
public static List removeDuplicate(List list){
List listTemp = new ArrayList();
for(int i=0;i<list. size();i++){
if( !listTemp . contains(list.get(i))){
listTemp. add(list.get(i));
}
return listTemp;
}

5.用JDK1.8 Stream中對List進行去重:list.stream().distinct();

public class duplicatRemoval {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>( 1000000) ;
for(inti=0;i<10;i++){
list. add(1);
System . out. println(list);
List shortList = removeDuplicate(list);
System . out . println( shortList);
}
@Suppres sWarnings( "rawtypes" )
public static List removeDuplicate(List list){
List newList = (List) list. stream(). distinct( ).collect(Collectors. toList());
return newList ;

Java中List集合中的重復數據怎么去除

首先獲得此list的Stream,然后調用distinct()方法。Java8中提供流的方式對數據進行處理,非常快,底層用的是forkJoin框架,提供了并行處理,使得多個處理器同時處理流中的數據,所以耗時非常短。

以上就是關于Java中List集合中的重復數據怎么去除的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中江县| 广河县| 于都县| 靖西县| 凌源市| 建水县| 阜阳市| 石嘴山市| 馆陶县| 韶山市| 裕民县| 安远县| 清镇市| 长阳| 甘南县| 福清市| 辉县市| 辰溪县| 梅州市| 丹巴县| 施秉县| 眉山市| 旺苍县| 星子县| 慈溪市| 家居| 洛南县| 北流市| 津市市| 勃利县| 栾城县| 剑河县| 邳州市| 子长县| 凤阳县| 南和县| 宁阳县| 上思县| 双城市| 瑞金市| 连平县|