集合框架

List

 Collection 老祖先,接口(interface)
    List 子接口
 ArrayList,LinkedList,Vector 實現(xiàn)類     
    Set 子接口
 HashSet(無序),TreeSet(有序)
  ArrayList:動態(tài)數(shù)組,表示數(shù)組長度可變
  ArrayList,LinkedList 使用方法完全一樣, 區(qū)別
   數(shù)據(jù)存儲方式不一樣,稱為不同的數(shù)據(jù)結構
   ArrayList:基于數(shù)組實現(xiàn)(優(yōu)點:連續(xù)存放,查找速度比較快,缺點是增加元素或者刪除元素比較慢),
   LinkedList基于鏈表實現(xiàn)(缺點:不連續(xù)存放,查找速度比較慢,優(yōu)點:增加元素或刪除元素比較快)。
   Vector 向量:基于數(shù)組實現(xiàn)的,但是已經(jīng)過時,現(xiàn)在都用ArrayList。

Set

集合中存儲的是對象的引用,對象存在堆(heap)里
 注意不需要講所有的方法
 迭代器(遍歷器)
 迭代器用于遍歷集合中的元素
 Iterator it=al.iterator();
 while(it.hasNext())
 {
   處理元素;
 }
 for(Iterator it=al.Iterator;it.hasNext())
 {
    處理元素
 }
 調用it.next()獲取下一個元素,同時將指針往后指。
List共性
元素是有索引的,元素可以重復
Set
元素無索引,不可以重復(不可以放同樣的元素,放不進去)
HashSet(無序),TreeSet(有序)
數(shù)據(jù)存儲方式
HashSet:哈希表
TreeSet:二叉樹

Map

方法一:傳入的對象所屬的類,必須實現(xiàn)Comparable

方法二:初始化TreeSet時,傳入一個比較器(比較器是一個實現(xiàn)了Comparator的類的對象)作為一個構造參數(shù)。

========================================================================================================

Collection 接口 和 Map接口 集合框架的兩個老祖先

              Collection(接口)                                   Map(接口)  <和Set很像>
                  /\                                               /  |  \
                 /  \                                             /   |   \  
                /    \                                           /    |    \
       List(接口)    Set(接口)                               HashMap,TreeMap,HashTable   
         /                  \                                      (實現(xiàn)類)                               
        /                    \                                   
       /(實現(xiàn)類)   (實現(xiàn)類)  \
ArrayList,LinkedList,Vector        HashSet,TreeSet
ArrayList基于數(shù)組    刪除速度比較哦慢,查找速度比較快
LinkedList基于鏈表   查找速度比較慢,增加刪除速度比較快
其中Collection 是單列集合,Map是雙列集合
key-value 鍵值對
鍵不可以重復,value可以重復
Map
   HashMap
   TreeMap
   HashTable
   HashTable:底層存儲結構是哈希表,鍵和值都不可以是null。已過時。
   HashMap:  底層是哈希表,鍵值都可以是null。
   TreeMap:  底層是二叉樹,支持鍵排序
keyset,valueset,entryset(Map.Entry)
讀取方式
1.獲得所有鍵的集合keyset
2.獲得所有值的集合valueset
3.獲得所有條目entryset
entry=一行,一個條目(包含鍵和值)
TreeMap:有序的(鍵是有序的)
關于泛型
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容