Java中List集合去重的幾種方式詳細解析
更新時間:2023年11月17日 10:28:23 作者:牧碼ya
這篇文章主要介紹了Java中List集合去重的幾種方式詳細解析,在日常的業(yè)務開發(fā)中,偶爾會遇到需要將 List 集合中的重復數(shù)據(jù)去除掉的場景,那么今天我們來看看幾種LIst集合去重的方式,需要的朋友可以參考下
Java的List集合去重
準備數(shù)據(jù):
// 準備數(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中進行了去重操作 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))) {
// 將未包含的元素添加進listTemp集合中
listTemp.add(list.get(i));
}
}
3. 循環(huán)List進行去重
// 從list中索引為0開始往后遍歷
for (int i = 0; i < list.size() - 1; i++) {
// 從list中索引為 list.size()-1 開始往前遍歷
for (int j = list.size() - 1; j > i; j--) {
// 進行比較
if (list.get(j).equals(list.get(i))) {
// 去重
list.remove(j);
}
}
}
到此這篇關于Java中List集合去重的幾種方式詳細解析的文章就介紹到這了,更多相關Java的List集合去重內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于synchronized修飾靜態(tài)和非靜態(tài)方法
這篇文章主要介紹了基于synchronized修飾靜態(tài)和非靜態(tài)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04
基于logback 實現(xiàn)springboot超級詳細的日志配置
java web 下有好幾種日志框架,比如:logback,log4j,log4j2(slj4f 并不是一種日志框架,它相當于定義了規(guī)范,實現(xiàn)了這個規(guī)范的日志框架就能夠用 slj4f 調(diào)用)。這篇文章主要介紹了基于logback springboot超級詳細的日志配置,需要的朋友可以參考下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)應用場景及代碼實現(xiàn)
面向切面編程(AOP)是Spring框架的核心功能之一,它通過預編譯和運行期動態(tài)代理實現(xiàn)程序功能的統(tǒng)一維護,在SpringBoot應用中,AOP能夠幫助我們優(yōu)雅地解決橫切關注點問題,本文將介紹SpringBoot中4種AOP實戰(zhàn)應用場景,需要的朋友可以參考下2025-05-05
java字符轉(zhuǎn)碼的三種方法總結(jié)及實例
這篇文章主要介紹了 java字符轉(zhuǎn)碼的三種方法總結(jié)及實例的相關資料,需要的朋友可以參考下2017-03-03

