• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Java面向對象
    Java異常
    Java數組
    Java常用類
    Java集合
    Java IO流
    Java線程
    Java反射
    Socket編程
    Java注解開發
    Java GoF設計模式
    HashMap
    Java內存模型
    Java線性表

    Java Collection集合小結

     

     

    Collection集合

     

    只能存儲引用類型的數據, 單個存儲

     

    基本操作:  add(), remove(), contains(), size(), iterator()

     

     

    List集合

     

    特點: 存儲的元素是有序,可重復的

     

    為每個元素指定一個索引值

     

    增加的方法, 針對索引值的操作, listIterator(),  subList(),  sort(Comparator)

     

     

    ArrayList集合

     

    底層是數組, 訪問快, 添加/刪除效率低

     

    初始化容量: 10,  擴容: 1.5倍

     

     

    Vector集合

     

    底層是數組, 它是線程安全的, ArrayList不是線程安全的

     

    初始化容量: 10,  擴容: 2倍

     

     

    LinkedList集合

     

    底層是雙向鏈表, 添加/刪除效率高, 訪問慢

     

     

    List集合應用場景

     

    ArrayList適用于以訪問為主, 很少添加/刪除的情況

     

    LinkedList適用于經常添加/刪除的情況

     

     

    Set集合

     

    特點: 數據無序,不可重復

     

     

    HashSet集合

     

    底層是HashMap, HashSet實際上就是HashMap鍵的集合

     

     

    TreeSet集合

     

    底層是TreeMap, TreeSet實際上就是TreeMap鍵的集合

     

    TreeSet實現了SortedSet接口, 可以對元素自然排序, 要求元素必須是可比較的:

     

    ● 在構造方法中指定Comparator比較器對象

     

    ● 如果沒有Comparator比較器, 集合元素的類必須實現Comparable接口

     

     

    Set集合的應用場景

     

    如果不需要對Set集合進行排序就選擇HashSet

     

    如果需要對Set集合的元素進行排序就選擇TreeSet

     

     

    注意:

     

    List集合/HashSet集合的contains( e ) / remove( e )等方法需要調用對象的equals()方法, 這些集合中的元素的類需要重寫equals()方法

     

    TreeSet集合中contains( e )/  remove( e) 等方法判斷是否同一個對象是根據Comparator/Comparable的比較結果是否為0來判斷的, 如果比較結果為0表示同一個元素

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏