<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    于吉吉的技術博客

    建造高性能門戶網

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      65 隨筆 :: 6 文章 :: 149 評論 :: 0 Trackbacks

    java數據結構

    posted @ 2011-06-15 15:07 陳于喆 閱讀(893) | 評論 (0)  編輯

         摘要: 一直以來似乎都有一個錯覺,認為map跟其他的集合類一樣繼承自Collection,其實不然,Map和Collection在結構層次上是沒有任何關系的,通過查看源碼可以發現map所有操作都是基于key-value對,而不是單獨的元素。

    下面以HashMap為例子,深入對Map的實現機制進行了解,在這個過程中,請打開jdk源碼。

    Hash算法

    HashMap使用Hash算法,所以在解剖HashMap之間,需要先簡單的了解Hash算法,Hash算法一般也成為散列算法,通過散列算法將任意的值轉化成固定的長度輸出,該輸出就是散列值,這是一種壓縮映射,也就是,散列值的空間遠遠小于輸入的值空間。
    簡單的說,hash算法的意義在于提供了一種快速存取數據的方法,它用一種算法建立鍵值與真實值之間的對應關系,(每一個真實值只能有一個鍵值,但是一個鍵值可以對應多個真實值),這樣可以快速在數組等里面存取數據。

    下面我們建立一個HashMap,然后往里面放入12對key-value,這個HashMap的默認數組長度為16,我們的key  閱讀全文
    posted @ 2011-02-15 19:18 陳于喆 閱讀(10175) | 評論 (6)  編輯

         摘要: List在數據結構中表現為是線性表的方式,其元素以線性方式存儲,集合中允許存放重復的對象,List接口主要的實現類有
    ArrayList
    ArrayList 其實就是一組長度可變的數組,當實例化了一個ArrayList,該數據也被實例化了,當向集合中添加對象時,數組的大小也隨著改變,這樣它所帶來的有優點是快速的隨機訪問,即使訪問每個元素所帶來的性能問題也是很小的,但缺點就是想其中添加或刪除對象速度慢,當你創建的數組是不確定其容量,所以當我們改變這個數組時就必須在內存中做很多的處理,如你想要數組中任意兩個元素中間添加對象,那么在內存中數組要移動所有后面的對象。

    LinkedList
    LinkedList 是通過節點的連接實現鏈表的數據結構,向linkedList中插入或刪除元素的速度是特別快,而隨機訪問的速度相對較慢,這個是由于鏈表本身的性質造成的,在鏈表中,每個節點都包含了前一個節點的引用,后一個節點的引用和節點存儲值,當一個新節點插入式,只需要修改其中相關的前后關系節點引用即可,刪除節點也是一樣。操作對象只需要改變節點的鏈接,新節點可以存放在  閱讀全文
    posted @ 2011-01-16 17:36 陳于喆 閱讀(11409) | 評論 (1)  編輯

         摘要: 我們都知道Set是一種最簡單的集合,對象的排序無特定的規則,集合里面存放的是對象的引用,所以沒有重復的對象,在上面的代碼中,程序創建了a、b、 c、d、e五個變量,其中a和c,b和e所引用的字符串是一致的,然后向set添加了這5個變量。打印出來的size()只有3個,實際上向集合加入的只有3個對象,在執行Set的add()方法時已經進行了判斷這個對象是否存在于集合,如果對象已經存在則不繼續執行。
    Set的接口有兩個實現類,HashSet和TreeSet,HashSet是按照哈希算法來進行存取集合中的對象,存取速度比較快,TreeSet類顯示了SortedSet接口,具有排序功能

    HashSet
    HashSet是按照哈希算法來存取集合中的對象,具有很好的存取和查找性能,當向集合中加入一個對象時,HashSet會調用對象的hashCode()方法來獲取哈希碼,然后根據這個哈希嗎來計算對象在集合中的存放位置。
    在Object類中定義了hashCode()和equal(),equal()是按照內存地址比較對象是否相同,如果 object1.equal(  閱讀全文
    posted @ 2011-01-06 18:07 陳于喆 閱讀(8611) | 評論 (0)  編輯

    主站蜘蛛池模板: 香港特级三A毛片免费观看| 亚洲av色香蕉一区二区三区蜜桃| 污视频网站免费在线观看| 午夜免费福利在线| 亚洲中文字幕精品久久| 四虎成人精品一区二区免费网站| 亚洲人成在线播放| 99精品全国免费观看视频| 亚洲精品无码久久久久APP | 在线人成精品免费视频| 亚洲AV成人片色在线观看 | a级毛片免费完整视频| 亚洲色成人WWW永久网站| 免费成人在线电影| 亚洲欧洲日产国码二区首页| 免费看美女裸露无档网站| 亚洲性色精品一区二区在线| 在线观看免费国产视频| 一级毛片免费在线播放| 久热综合在线亚洲精品| 成年在线观看免费人视频草莓| 在线精品自拍亚洲第一区| 亚洲熟女乱综合一区二区| 无人在线观看免费高清| 在线精品亚洲一区二区| 亚洲精品在线视频| 99久在线国内在线播放免费观看| 亚洲乱码在线观看| 亚洲日韩VA无码中文字幕| 日本免费一区二区三区四区五六区| 亚洲国产成人91精品| 免费人成网站在线播放| 久爱免费观看在线网站| 亚洲高清视频在线| 国产亚洲精品成人AA片新蒲金| 91香蕉在线观看免费高清| 亚洲gay片在线gv网站| 亚洲欧洲日产国产综合网| 色吊丝最新永久免费观看网站 | 亚洲一区精彩视频| 亚洲精品你懂的在线观看 |