欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中List集合去除重復(fù)數(shù)據(jù)的方法匯總

 更新時間:2021年02月25日 09:10:56   作者:風(fēng)中的小團(tuán)團(tuán)  
這篇文章主要給大家介紹了關(guān)于Java中List集合去除重復(fù)數(shù)據(jù)的方法,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

List集合概述

List集合是一個元素有序(每個元素都有對應(yīng)的順序索引,第一個元素索引為0)、且可重復(fù)的集合。

List集合常用方法

List是Collection接口的子接口,擁有Collection所有方法外,還有一些對索引操作的方法。

  • void add(int index, E element);:將元素element插入到List集合的index處;
  • boolean addAll(int index, Collection<? extends E> c);:將集合c所有的元素都插入到List集合的index起始處;
  • E remove(int index);:移除并返回index處的元素;
  • int indexOf(Object o);:返回對象o在List集合中第一次出現(xiàn)的位置索引;
  • int lastIndexOf(Object o);:返回對象o在List集合中最后一次出現(xiàn)的位置索引;
  • E set(int index, E element);:將index索引處的元素替換為新的element對象,并返回被替換的舊元素;
  • E get(int index);:返回集合index索引處的對象;
  • List<E> subList(int fromIndex, int toIndex);:返回從索引fromIndex(包含)到索引toIndex(不包含)所有元素組成的子集合;
  • void sort(Comparator<? super E> c):根據(jù)Comparator參數(shù)對List集合元素進(jìn)行排序;
  • void replaceAll(UnaryOperator<E> operator):根據(jù)operator指定的計(jì)算規(guī)則重新設(shè)置集合的所有元素。
  • ListIterator<E> listIterator();:返回一個ListIterator對象,該接口繼承了Iterator接口,在Iterator接口基礎(chǔ)上增加了以下方法,具有向前迭代功能且可以增加元素:
  • bookean hasPrevious():返回迭代器關(guān)聯(lián)的集合是否還有上一個元素;
  • E previous();:返回迭代器上一個元素;
  • void add(E e);:在指定位置插入元素;

Java List去重

1. 循環(huán)list中的所有元素然后刪除重復(fù)

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;  
}

2. 通過HashSet踢除重復(fù)元素

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

3. 刪除ArrayList中重復(fù)元素,保持順序

// 刪除ArrayList中重復(fù)元素,保持順序 
 public static void removeDuplicateWithOrder(List list) { 
 Set set = new HashSet(); 
  List newList = new ArrayList(); 
 for (Iterator iter = list.iterator(); iter.hasNext();) { 
   Object 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 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;
	}

總結(jié)

到此這篇關(guān)于Java中List集合去除重復(fù)數(shù)據(jù)方法匯總的文章就介紹到這了,更多相關(guān)Java List去除重復(fù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot?如何解決yml沒有spring的小葉子標(biāo)志問題

    springboot?如何解決yml沒有spring的小葉子標(biāo)志問題

    這篇文章主要介紹了springboot?如何解決yml沒有spring的小葉子標(biāo)志問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java聊天室之實(shí)現(xiàn)聊天室客戶端功能

    Java聊天室之實(shí)現(xiàn)聊天室客戶端功能

    這篇文章主要為大家詳細(xì)介紹了Java簡易聊天室之實(shí)現(xiàn)聊天室客戶端功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以了解一下
    2022-11-11
  • 關(guān)于spring data jpa一級緩存的問題

    關(guān)于spring data jpa一級緩存的問題

    這篇文章主要介紹了關(guān)于spring data jpa一級緩存的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Spring Boot 中的自動配置autoconfigure詳解

    Spring Boot 中的自動配置autoconfigure詳解

    這篇文章主要介紹了Spring Boot 中的自動配置autoconfigure詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • 為什么SpringBoot的jar可以直接運(yùn)行

    為什么SpringBoot的jar可以直接運(yùn)行

    這篇文章主要介紹了為什么SpringBoot的jar可以直接運(yùn)行,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • lazy?init控制加載在Spring中如何實(shí)現(xiàn)源碼分析

    lazy?init控制加載在Spring中如何實(shí)現(xiàn)源碼分析

    這篇文章主要為大家介紹了lazy?init控制加載在Spring中如何實(shí)現(xiàn)源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 一鍵清除maven倉庫中下載失敗的jar包的實(shí)現(xiàn)方法

    一鍵清除maven倉庫中下載失敗的jar包的實(shí)現(xiàn)方法

    這篇文章主要介紹了一鍵清除maven倉庫中下載失敗的jar包的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • JNDI具體用法詳解

    JNDI具體用法詳解

    JNDI是java命名和目錄接口,本文主要介紹了JNDI具體用法詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 簡述Java中進(jìn)程與線程的關(guān)系_動力節(jié)點(diǎn)Java學(xué)院整理

    簡述Java中進(jìn)程與線程的關(guān)系_動力節(jié)點(diǎn)Java學(xué)院整理

    在 Java 語言中,對進(jìn)程和線程的封裝,分別提供了 Process 和 Thread 相關(guān)的一些類。本文首先簡單的介紹如何使用這些類來創(chuàng)建進(jìn)程和線程
    2017-05-05
  • 詳解java線程的開始、暫停、繼續(xù)

    詳解java線程的開始、暫停、繼續(xù)

    本文將介紹通過線程讀取文件內(nèi)容,并且可以控制線程的開始、暫停、繼續(xù),來控制讀文件。具有一定的參考作用,下面跟著小編一起來看下吧
    2017-01-01

最新評論