Java中List集合去重的幾種方式詳細解析
更新時間:2023年11月17日 10:28:23 作者:牧碼ya
這篇文章主要介紹了Java中List集合去重的幾種方式詳細解析,在日常的業(yè)務(wù)開發(fā)中,偶爾會遇到需要將 List 集合中的重復(fù)數(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); } } }
到此這篇關(guān)于Java中List集合去重的幾種方式詳細解析的文章就介紹到這了,更多相關(guān)Java的List集合去重內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java concurrency之AtomicLong原子類_動力節(jié)點Java學(xué)院整理
AtomicLong是作用是對長整形進行原子操作。下面通過本文給大家介紹Java concurrency之AtomicLong原子類的相關(guān)知識,感興趣的朋友一起看看吧2017-06-06Spring?Validation中的用戶注冊、JWT令牌之用戶登入功能
本文介紹了使用SpringValidation進行用戶注冊驗證和JWT進行用戶登錄的方法,在用戶注冊時,通過@Validated注解和@Pattern注解對用戶名和密碼進行格式校驗,并使用Result對象返回驗證結(jié)果,感興趣的朋友一起看看吧2024-11-11關(guān)于springboot 配置date字段返回時間戳的問題
這篇文章主要介紹了springboot 配置date字段返回時間戳的問題,在springboot2.0后,spring會將Date字段自動給轉(zhuǎn)成UTC字符串了(在沒有配置的情況下),所以date需要轉(zhuǎn)換成時間戳還是yyyy-MM-dd HH:mm:ss,具體解決方法跟隨小編一起看看吧2021-07-07Java中Bean轉(zhuǎn)Map問題歸納總結(jié)
Java Bean轉(zhuǎn)Map的坑很多,最常見的就是類型丟失和屬性名解析錯誤的問題,下面這篇文章主要給大家介紹了關(guān)于Java中Bean轉(zhuǎn)Map問題歸納總結(jié)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-06-06