成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java知識點(diǎn)總結(jié)(Java容器-HashSet)

MadPecker / 2301人閱讀

摘要:不是同步的也就是線程不安全,如果多個線程訪問同一個集合,如果有條或者條以上線程同時修改了集合時,必須使用代碼來保證其同步元素值可以是不能保證元素的排列順序,順序有可能發(fā)生變化手寫把里的用一個常量來代替底層利用,實現(xiàn)不可重復(fù)

Java知識點(diǎn)總結(jié)(Java容器-HashSet)

@(Java知識點(diǎn)總結(jié))[Java, Java容器, JavaCollection, JavaSet]

HashSet特點(diǎn)

HashSet按Hash算法來存取 查找集合中的元素

HashSet具有很好的存取 查找的性能 從HashSet中查找某個對象時,首先調(diào)用對象的hashCode方法獲取該對象的哈希碼,然后根據(jù)哈希碼找到相應(yīng)的存儲區(qū)域,最后取出該存儲區(qū)域的每個元素與該元素進(jìn)行equals方法比較,這樣就不用遍歷集合中所有元素就能查找到結(jié)果。

HashSet不是同步的 也就是線程不安全,如果多個線程訪問同一個Set集合,如果有2條或者2條以上線程同時修改了HashSet集合時,必須使用代碼來保證其同步

元素值可以是null

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

手寫HashSet
public class MyHashSet {
  HashMap map;
  private static final Object PRESENT = new Object(); //把map里的value用一個常量來代替
  
  public MyHashSet(){
    map = new HashMap();
  }
  public void add(Object obj) {
    map.put(obj , PRESENT);  //底層利用map,實現(xiàn)不可重復(fù)
  }
  public int  size() {
    return map .size();
  }
  public static void main(String[] args) {
    MyHashSet set = new MyHashSet();
    set.add("1" );
    set.add("2" );
    set.add("3" );
    System.out.println(set.size());
  }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/69596.html

相關(guān)文章

  • Java識點(diǎn)總結(jié)Java容器-Set)

    摘要:知識點(diǎn)總結(jié)容器知識點(diǎn)總結(jié)容器是一種不包括重復(fù)元素的。由于接口的特殊性,所有傳入集合中的元素必須不同。集合判斷兩個對象是否相同,是使用方法,而不是使用運(yùn)算符的。只能存儲,所以只會在存儲的情況下使用。 Java知識點(diǎn)總結(jié)(Java容器-Set) @(Java知識點(diǎn)總結(jié))[Java, Java容器, JavaCollection, JavaSet] Set Set是一種不包括重復(fù)元素的Col...

    dack 評論0 收藏0
  • Java識點(diǎn)總結(jié)Java容器-Iterator)

    摘要:知識點(diǎn)總結(jié)容器知識點(diǎn)總結(jié)容器對象稱作迭代器,用于方便地實現(xiàn)對容器內(nèi)元素的遍歷操作接口定義如下判斷是否有元素沒有被遍歷返回游標(biāo)當(dāng)前位置的元素并將游標(biāo)移動到下一個位置刪除游標(biāo)左面的元素,在執(zhí)行完之后該操作只能執(zhí)行一次迭代器的使用實現(xiàn)實現(xiàn)原理游 Java知識點(diǎn)總結(jié)(Java容器-Iterator) @(Java知識點(diǎn)總結(jié))[Java, Java容器] Iterator Iterator對象稱...

    iliyaku 評論0 收藏0
  • Collection集合識點(diǎn)總結(jié)

    摘要:和的區(qū)別是非線程安全的,效率高是基于線程安全的,效率低底層基于鏈表實現(xiàn),鏈表內(nèi)存是散亂的,每一個元素存儲本身內(nèi)存地址的同時還存儲下一個元素的地址?;旧隙际且詾榛A(chǔ)。 什么是集合 Java是一門面向?qū)ο蟮恼Z言. 為了方便操作多個對象,那么我們就得把這多個對象存儲起來 想要存儲多個對象(變量),我們就需要一個容器 集合就是一個放數(shù)據(jù)的容器(集合類存放的都是對象的引用,而非對象本身) ...

    I_Am 評論0 收藏0
  • Java集合總結(jié)【面試題+腦圖】,將識點(diǎn)一網(wǎng)打盡!

    摘要:而在集合中,值僅僅是一個對象罷了該對象對本身而言是無用的。將這篇文章作為集合的總結(jié)篇,但覺得沒什么好寫就回答一些面試題去了,找了一會面試題又覺得不夠系統(tǒng)。 前言 聲明,本文用的是jdk1.8 花了一個星期,把Java容器核心的知識過了一遍,感覺集合已經(jīng)無所畏懼了?。?哈哈哈....),現(xiàn)在來總結(jié)一下吧~~ 回顧目錄: Collection總覽 List集合就這么簡單【源碼剖析】 Ma...

    yearsj 評論0 收藏0
  • Java識點(diǎn)總結(jié)Java容器-Collection)

    摘要:知識點(diǎn)總結(jié)容器知識點(diǎn)總結(jié)容器函數(shù)庫是包下的一些接口和類,類是用來產(chǎn)生對象存放數(shù)據(jù)用的,而接口是訪問數(shù)據(jù)的方式。底層也是數(shù)組實現(xiàn),線程安全,效率低效率高,線程不安全。 Java知識點(diǎn)總結(jié)(Java容器-Collection) @(Java知識點(diǎn)總結(jié))[Java, Java容器, JavaCollection] [toc] Collection Collection函數(shù)庫是java.uti...

    GeekGhc 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<