Java實(shí)現(xiàn)List去重的幾種方法總結(jié)
HashSet去重
import java.util.HashSet; HashSet<Integer> set = new HashSet<>(); set.add(1); set.add(2); set.add(2); System.out.println(set); // [1, 2]
TreeSet去重
import java.util.TreeSet; TreeSet<Integer> set = new TreeSet<>(); set.add(2); set.add(1); set.add(2); System.out.println(set); // [1, 2]
LinkedHashSet去重
import java.util.LinkedHashSet; LinkedHashSet<Integer> set = new LinkedHashSet<>(); set.add(2); set.add(1); set.add(2); System.out.println(set); // [2, 1]
迭代器去重
import java.util.ArrayList;
import java.util.Iterator;
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(2);
Iterator<Integer> it = list.iterator();
while (it.hasNext()) {
Integer i = it.next();
if (list.indexOf(i) != list.lastIndexOf(i)) {
it.remove();
}
}
System.out.println(list); // [1] Stream去重
import java.util.stream.Collectors;
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(2);
List<Integer> distinctList = list.stream()
.distinct()
.collect(Collectors.toList());
System.out.println(distinctList); // [1, 2]contains去重
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(2);
for (Integer i : list) {
if (!list.contains(i)) {
list.remove(i);
}
}
System.out.println(list); // [1, 2]寫(xiě)在最后
到此這篇關(guān)于Java實(shí)現(xiàn)List去重的幾種方法總結(jié)的文章就介紹到這了,更多相關(guān)Java List去重內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA中的maven沒(méi)有dependencies解決方案
這篇文章主要介紹了IDEA中的maven沒(méi)有dependencies解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
對(duì)spring的@Cacheable緩存的使用理解
這篇文章主要介紹了對(duì)spring的@Cacheable緩存的使用理解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-10-10
Springboot處理跨域的實(shí)現(xiàn)方式(附Demo)
這篇文章主要介紹了Springboot處理跨域的實(shí)現(xiàn)方式(附Demo),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
關(guān)于activemq安裝配置以及啟動(dòng)錯(cuò)誤的解決
這篇文章主要介紹了關(guān)于activemq安裝配置以及啟動(dòng)錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
Springboot接收文件報(bào)錯(cuò)Required request part‘file‘is 
文章總結(jié):在Flutter和Vue項(xiàng)目中遇到文件上傳問(wèn)題,后端接口Controller定義無(wú)誤,但前端通過(guò)FormData封裝上傳文件時(shí)報(bào)錯(cuò),通過(guò)瀏覽器抓包和PostMan測(cè)試,發(fā)現(xiàn)后臺(tái)確實(shí)可以接收參數(shù),最終通過(guò)修改封裝的file為file.raw解決問(wèn)題,解決了文件上傳不成功的問(wèn)題2025-12-12
Android?Studio?中Gradle配置sonarqube插件(推薦)
Sonarqube作為一個(gè)很實(shí)用的靜態(tài)代碼分析工具,在很多項(xiàng)目中都使用,本文重點(diǎn)給大家介紹Android?Studio?中Gradle配置sonarqube插件的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧2022-03-03

