两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

Set集合是是由一串無(wú)序的、不能重復(fù)的相同類型元素構(gòu)成的集合,因?yàn)榇鎯?chǔ)數(shù)據(jù)的時(shí)候要先判斷其元素的hashCode值,不一樣再存儲(chǔ)。

1.Set集合特點(diǎn)

1)Set集合是Collection集合的子類。

2)不包含重復(fù)的元素的集合。

3)沒(méi)有帶索引的方法,所以不能用普通的for循環(huán)遍歷。

2.Set常用方法

1)操作元素

add(Object element):在Set集合的尾部添加指定的元素。

remove(Object element):如果Set集合中存在指定元素,則從Set集合中移除該元素。

clear():從Set集合中移除所有元素。

2)判斷元素

isEmpty():判斷Set集合中是否有元素。沒(méi)有返回true,有返回false。

contains(Object element):判斷Set集合中是否包含指定元素,包含返回true,不包含返回false。

3)其它方法

iterator():返回迭代器(Iterator)對(duì)象,迭代器對(duì)象用于遍歷集合。

size():返回Set集合中的元素?cái)?shù),返回值是int類型。


例如:

import java.util.HashSet;
import java.util.Set;
public class Main {
    public static void main(String[] args) {
        Set set = new HashSet();
        String b = "B";
        //向集合中添加元素
        set.add("A");
        set.add("b");
        set.add("C");
        set.add("b");
        set.add("D");
        set.add("b");
        set.add("E");
        //打印集合元素個(gè)數(shù)
        System.out.println("集合size = " + set.size());
        //打印集合
        System.out.println(set);
        //移出集合中第一個(gè)“B”元素
        set.remove(b);
        //判斷集合中是否包含“B”元素
        System.out.println("是否包含\"B\":" + set.contains(b));
        //判斷集合是否為空
        System.out.println("set集合是空的:" + set.isEmpty());
        //清空集合
        set.clear();
        System.out.println(set);
    }
}


運(yùn)行結(jié)果如下:

集合size = 5
[A, b, C, D, E]
是否包含"B":false
set集合是空的:false
[]

3.哈希值(hashCode)

哈希值是JDK根據(jù)u第項(xiàng)的地址或者數(shù)字運(yùn)算出來(lái)的int類的數(shù)值,Object類中有一個(gè)方式可以獲取哈希值,public int hashCode();返回哈希值。


對(duì)象哈希值的特點(diǎn)如下:

1)同一個(gè)對(duì)象多次調(diào)用和hashCode()方法返回的哈希值是相同的。

2)默認(rèn)情況下,不同對(duì)象的哈希值是不同的,但可以通過(guò)重寫hashCode方法使得哈希值相同。


注意:有不一樣的字符串的哈希值也有一樣,因?yàn)镾tring重寫了hashCode方法,比如“重地”和“通話”,哈希值都是1179395。


點(diǎn)贊(0)

C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語(yǔ)言學(xué)練課程

解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程

從零到寫出一個(gè)爬蟲的Python編程課程

只會(huì)語(yǔ)法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時(shí)間)