JAVA:Set/List/Map 集合之Set(二)

1,定義

set接口及其實(shí)現(xiàn)類–HashSet

Set是元素?zé)o序且不可重復(fù)的集合,被稱為集。

HashSet是哈希集,是Set的一個(gè)重要實(shí)現(xiàn)類

set中循環(huán)只能使用foreach和iterator這兩個(gè),而沒有g(shù)et()方法

set中無論添加某個(gè)對(duì)象多少次,最終只會(huì)保留一個(gè)該對(duì)象 的引用,并且保留的是第一次添加的那個(gè)。

set中add()、addAll()、remove()、removeAll()方法和List中使用方法一樣

2,實(shí)現(xiàn)類?

HashSet()?

特點(diǎn):?

不能保證元素的排列順序,順序有可能發(fā)生變化。

另外HashSet不是同步的,如果多個(gè)線程同時(shí)訪問一個(gè)Set,只要有一個(gè)線程修改Set中的值,就必須進(jìn)行同步處理,通常通過同步封裝這個(gè)Set的對(duì)象來完成同步,如果不存在這樣的對(duì)象,可以使用Collections.synchronizedSet()方法完成。?

Set s = Collections.synchronizedSet(new HashSet(…));

元素值可以是null。

3,遍歷

//1.迭代遍歷:Set set =new HashSet();

Iterator it = set.iterator();

while (it.hasNext()) {

String str = it.next();

System.out.println(str);

}

//2.for循環(huán)遍歷:

for (String str : set) {

System.out.println(str);

}

注意:在對(duì)set集合成進(jìn)行遍歷的時(shí)候不能同時(shí)進(jìn)行修改操作,比如刪除,這樣會(huì)導(dǎo)致崩潰。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第十天 權(quán)限修飾符 public protected default private 同一類 true true ...
    炙冰閱讀 605評(píng)論 0 1
  • 四、集合框架 1:String類:字符串(重點(diǎn)) (1)多個(gè)字符組成的一個(gè)序列,叫字符串。生活中很多數(shù)據(jù)的描述都采...
    佘大將軍閱讀 874評(píng)論 0 2
  • 一、基礎(chǔ)知識(shí):1、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機(jī)...
    殺小賊閱讀 2,563評(píng)論 0 4
  • Collection ├List │├LinkedList │├ArrayList │└Vector │└Stac...
    AndyZX閱讀 961評(píng)論 0 1
  • 想起咱縣中醫(yī)院, 太多回憶在里邊, 自從籌建至現(xiàn)在, 三十五年一瞬間, 我在那時(shí)還年輕, 時(shí)任院長(zhǎng)到期換, 最長(zhǎng)干...
    端陽五月五閱讀 249評(píng)論 0 1

友情鏈接更多精彩內(nèi)容