Java中如何利用Set判斷List集合中是否有重復(fù)元素
Java中利用Set判斷List集合中是否有重復(fù)元素
1、在開發(fā)工作中,我們有時需要去判斷List集合中是否含有重復(fù)的元素
2、我們不需要找出重復(fù)的元素,我們只需要返回一個 Boolean 類型就可以了
3、如果使用循環(huán)遍歷的方式,將會消耗大量的性能
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) { // 定義一個 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 的長度 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java讀取txt文件中的數(shù)據(jù)賦給String變量方法
今天小編就為大家分享一篇Java讀取txt文件中的數(shù)據(jù)賦給String變量方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07Java基于Guava Retrying實(shí)現(xiàn)重試功能
這篇文章主要介紹了Java基于Guava Retrying實(shí)現(xiàn)重試功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07Java中十進(jìn)制和十六進(jìn)制的相互轉(zhuǎn)換方法
下面小編就為大家?guī)硪黄狫ava中十進(jìn)制和十六進(jìn)制的相互轉(zhuǎn)換方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08基于idea解決springweb項(xiàng)目的Java文件無法執(zhí)行問題
這篇文章給大家介紹了基于idea解決springweb項(xiàng)目的Java文件無法執(zhí)行問題,文中通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-02-02java 字符串轉(zhuǎn)化為字符數(shù)組的3種實(shí)現(xiàn)案例
這篇文章主要介紹了java 字符串轉(zhuǎn)化為字符數(shù)組的3種實(shí)現(xiàn)案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10java 查詢oracle數(shù)據(jù)庫所有表DatabaseMetaData的用法(詳解)
下面小編就為大家?guī)硪黄猨ava 查詢oracle數(shù)據(jù)庫所有表DatabaseMetaData的用法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11Spring Security源碼解析之權(quán)限訪問控制是如何做到的
Spring Security 中對于權(quán)限控制默認(rèn)已經(jīng)提供了很多了,但是,一個優(yōu)秀的框架必須具備良好的擴(kuò)展性,下面小編給大家介紹Spring Security源碼解析之權(quán)限訪問控制是如何做到的,感興趣的朋友跟隨小編一起看看吧2021-05-05