Java中如何利用Set判斷List集合中是否有重復(fù)元素
Java中利用Set判斷List集合中是否有重復(fù)元素
1、在開發(fā)工作中,我們有時(shí)需要去判斷List集合中是否含有重復(fù)的元素
2、我們不需要找出重復(fù)的元素,我們只需要返回一個(gè) Boolean 類型就可以了
3、如果使用循環(huán)遍歷的方式,將會(huì)消耗大量的性能
4、我們知道,Set 中存放的都是不重復(fù)的數(shù)據(jù),所以只需要將 List 集合轉(zhuǎn)化為 Set 集合,再進(jìn)行比較即可
代碼如下:
package com.test; import java.util.ArrayList; import java.util.HashSet; import java.util.List; public class Test { public static void main(String[] args) { // 定義一個(gè) list 集合 List<String> list = new ArrayList<String>(); // 往 list 里面添加數(shù)據(jù) list.add("a"); list.add("b"); list.add("a"); list.add("c"); // 將 list 轉(zhuǎn)化為 set HashSet<String> set = new HashSet<>(list); // 比較 list 與 set 的長(zhǎng)度 Boolean result = set.size() == list.size() ? true : false; // 輸出比較結(jié)果 System.out.println(result); } }
運(yùn)行結(jié)果當(dāng)然是:false
java判斷l(xiāng)ist里是否有重復(fù)元素/元素是否完全相同
判斷l(xiāng)ist里是否有重復(fù)元素/元素是否完全相同
充分利用類集的特性,Set中不允許有重復(fù)的元素。
判斷l(xiāng)ist中是否有重復(fù)元素
import java.util.ArrayList; import java.util.HashSet; import java.util.List; public class Test { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(3); list.add(5); System.out.println(hasSame(list)); } private static boolean hasSame(List<? extends Object> list) { if(null == list) return false; return list.size() == new HashSet<Object>(list).size(); } }
判斷l(xiāng)ist中元素是否完全相同
import java.util.ArrayList; import java.util.HashSet; import java.util.List; public class Test { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(1); list.add(1); list.add(1); list.add(2); System.out.println(hasSame(list)); } private static boolean hasSame(List<? extends Object> list) { if(null == list) return false; return 1 == new HashSet<Object>(list).size(); } }
到此這篇關(guān)于Java中利用Set判斷List集合中是否有重復(fù)元素的文章就介紹到這了,更多相關(guān)java set判斷l(xiāng)ist集合是否有重復(fù)元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java讀取txt文件中的數(shù)據(jù)賦給String變量方法
今天小編就為大家分享一篇Java讀取txt文件中的數(shù)據(jù)賦給String變量方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07Java基于Guava Retrying實(shí)現(xiàn)重試功能
這篇文章主要介紹了Java基于Guava Retrying實(shí)現(xiàn)重試功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Java中十進(jìn)制和十六進(jìn)制的相互轉(zhuǎn)換方法
下面小編就為大家?guī)硪黄狫ava中十進(jìn)制和十六進(jìn)制的相互轉(zhuǎn)換方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08基于idea解決springweb項(xiàng)目的Java文件無法執(zhí)行問題
這篇文章給大家介紹了基于idea解決springweb項(xiàng)目的Java文件無法執(zhí)行問題,文中通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-02-02java 字符串轉(zhuǎn)化為字符數(shù)組的3種實(shí)現(xiàn)案例
這篇文章主要介紹了java 字符串轉(zhuǎn)化為字符數(shù)組的3種實(shí)現(xiàn)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10java 查詢oracle數(shù)據(jù)庫(kù)所有表DatabaseMetaData的用法(詳解)
下面小編就為大家?guī)硪黄猨ava 查詢oracle數(shù)據(jù)庫(kù)所有表DatabaseMetaData的用法(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11java并發(fā)訪問重復(fù)請(qǐng)求過濾問題
本篇文章給大家分享了關(guān)于java并發(fā)訪問重復(fù)請(qǐng)求過濾的相關(guān)問題以及解決方法,對(duì)此有需要的朋友參考學(xué)習(xí)下。2018-05-05centos下編譯安裝mysql報(bào)錯(cuò)解決方案
今天在centos6.2下面源碼編譯安裝mysql的時(shí),在編譯mysql的時(shí)候報(bào)了一個(gè)蛋蛋的錯(cuò)誤,本文提供詳細(xì)解決方案2012-11-11Spring Security源碼解析之權(quán)限訪問控制是如何做到的
Spring Security 中對(duì)于權(quán)限控制默認(rèn)已經(jīng)提供了很多了,但是,一個(gè)優(yōu)秀的框架必須具備良好的擴(kuò)展性,下面小編給大家介紹Spring Security源碼解析之權(quán)限訪問控制是如何做到的,感興趣的朋友跟隨小編一起看看吧2021-05-05