java 集合粗略總結

來源:互聯網
上載者:User

標籤:

Collection 介面
公用方法:
    1.增  add() addAll()
    2.刪  clear() remove() removeAll() retainAll()(取交集)
    3.判斷 contains() containsAll() equals() isEmpy()

兩大子介面:
        List 介面 有序 重複
                ArrayList 類 底層是數組實現的 增刪速度慢  查詢速度快 不同步 效率高
                                    去除其中的相同元素時,較複雜
                Vector    類  底層也是數組實現 同步 效率底 增刪速度慢 查詢速度快
                
                LinkedList 類 底層是鏈表實現的  查詢速度慢 增刪速度快
                
                遍曆方法:1.迭代器  2.toArray()  3.get() 和 size()  4.foreach
        
        
        Set 介面 無序 唯一
                HashSet  類 資料結構是雜湊表,實現無序和唯一的方式是通過存入其中對象的hashCode()
                                    方法和equals()方法實現的
                
                TreeSet 類 無序 唯一 排序 底層實現的資料結構是紅/黑樹狀結構 自然排序是通過實現compareable()
                                介面,重寫compareTo()方法來搞定的  自訂比較子類是實現comparetor介面,重寫
                                compare()方法來搞定的
    
                                
共同點:Iterator(迭代器)
              通過迭代器來遍曆collection集合 在使用迭代器的過程中不可以使用集合自有的增刪操作,只能
              使用Iterator的方法來操作,否在會出現異常                    
              
Map 介面 key-value
    方法:    put()
                remove()
                clear()
                containsKey()
                containsValue()
    擷取:
                keySet()
                valuse()
                entrySet()
                get()

    HashMap  雜湊表資料結構 保證唯一性 和無序性
    案例:HashMap<String,String>
                HashMap<Integer,String>
                HashMap<Student,String>  要重寫Student的hashCode()方法和equals()方法
                HashMap<String,Student>

    TreeMap  紅/黑樹狀結構資料結構  排序 唯一性
    案例:TreeMap<String,String>
                TreeMap<Integer,String>
                TreeMap<Student,String> Student要實現compareable介面,重寫compareTo方法,或者自訂比較類
                TreeMap<String,Student>

    HashMap和HashTable的區別?
        1.HashMap的鍵和值都可以為null
        2.HashTable也可以,但是我們一般不這樣用
        3.HashTable是同步的

    Collections操作類
        1.sort
        2.binarySearch 找的到就返回索引,找不到就返回(-(插入點)-1)
        3.max
        4.reverse(逆序)
        5.shuffle(洗牌)  使用預設隨機源對列表進行置換
             

java 集合粗略總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.