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);
}
}運行結(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)文章
記一次Maven項目改造成SpringBoot項目的過程實踐
本文主要介紹了Maven項目改造成SpringBoot項目的過程實踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
JAVAWEB實現(xiàn)簡單的商城項目(一)實例代碼解析
本文給大家分享一段實例代碼給大家介紹JAVAWEB實現(xiàn)簡單的商城項目(一),非常具有參考價值,感興趣的朋友一起學(xué)習(xí)吧2016-02-02
Java聊天室之實現(xiàn)一個服務(wù)器與多個客戶端通信
這篇文章主要為大家詳細(xì)介紹了Java簡易聊天室之實現(xiàn)一個服務(wù)器與多個客戶端通信,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以了解一下2022-10-10
Java中Final關(guān)鍵字的使用技巧及其性能優(yōu)勢詳解
這篇文章主要介紹了Java中Final關(guān)鍵字的使用技巧及其性能優(yōu)勢詳解,Java中的final關(guān)鍵字用于修飾變量、方法和類,可以讓它們在定義后不可更改,從而提高程序的穩(wěn)定性和可靠性,此外,final關(guān)鍵字還有一些使用技巧和性能優(yōu)勢,需要的朋友可以參考下2023-10-10
Mybatis Generator逆向工程的使用詳細(xì)教程
這篇文章主要介紹了Mybatis Generator逆向工程的使用詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
詳解springboot設(shè)置cors跨域請求的兩種方式
這篇文章主要介紹了詳解springboot設(shè)置cors跨域請求的兩種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11

