Java中List集合去重的幾種方式詳細(xì)解析
Java的List集合去重
準(zhǔn)備數(shù)據(jù):
// 準(zhǔn)備數(shù)據(jù)
List<String> list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("c");
list.add("b");
list.add("a");
1. 利用HashSet去重
// 利用list中的元素創(chuàng)建HashSet集合,此時set中進(jìn)行了去重操作 HashSet set = new HashSet(list); // 清空list集合 list.clear(); // 將去重后的元素重新添加到list中 list.addAll(set);
2. 通過List的contains()方法去重
// 創(chuàng)建一個新的list集合,用于存儲去重后的元素
List listTemp = new ArrayList();
// 遍歷list集合
for (int i = 0; i < list.size(); i++) {
// 判斷l(xiāng)istTemp集合中是否包含list中的元素
if (!listTemp.contains(list.get(i))) {
// 將未包含的元素添加進(jìn)listTemp集合中
listTemp.add(list.get(i));
}
}
3. 循環(huán)List進(jìn)行去重
// 從list中索引為0開始往后遍歷
for (int i = 0; i < list.size() - 1; i++) {
// 從list中索引為 list.size()-1 開始往前遍歷
for (int j = list.size() - 1; j > i; j--) {
// 進(jìn)行比較
if (list.get(j).equals(list.get(i))) {
// 去重
list.remove(j);
}
}
}
到此這篇關(guān)于Java中List集合去重的幾種方式詳細(xì)解析的文章就介紹到這了,更多相關(guān)Java的List集合去重內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于synchronized修飾靜態(tài)和非靜態(tài)方法
這篇文章主要介紹了基于synchronized修飾靜態(tài)和非靜態(tài)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04
基于logback 實現(xiàn)springboot超級詳細(xì)的日志配置
java web 下有好幾種日志框架,比如:logback,log4j,log4j2(slj4f 并不是一種日志框架,它相當(dāng)于定義了規(guī)范,實現(xiàn)了這個規(guī)范的日志框架就能夠用 slj4f 調(diào)用)。這篇文章主要介紹了基于logback springboot超級詳細(xì)的日志配置,需要的朋友可以參考下2019-06-06
基于Java并發(fā)容器ConcurrentHashMap#put方法解析
下面小編就為大家?guī)硪黄贘ava并發(fā)容器ConcurrentHashMap#put方法解析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
Java 線程池ThreadPoolExecutor源碼解析
這篇文章主要介紹了Java 線程池ThreadPoolExecutor源碼解析2022-03-03
SpringBoot中四種AOP實戰(zhàn)應(yīng)用場景及代碼實現(xiàn)
面向切面編程(AOP)是Spring框架的核心功能之一,它通過預(yù)編譯和運(yùn)行期動態(tài)代理實現(xiàn)程序功能的統(tǒng)一維護(hù),在SpringBoot應(yīng)用中,AOP能夠幫助我們優(yōu)雅地解決橫切關(guān)注點問題,本文將介紹SpringBoot中4種AOP實戰(zhàn)應(yīng)用場景,需要的朋友可以參考下2025-05-05
java字符轉(zhuǎn)碼的三種方法總結(jié)及實例
這篇文章主要介紹了 java字符轉(zhuǎn)碼的三種方法總結(jié)及實例的相關(guān)資料,需要的朋友可以參考下2017-03-03

