java集合總綱

java集合

集合是用來存儲數據的,以前有了數組為什么還要集合呢,因為數組必須要聲明長度,集合不需要,更加靈活,

集合是在java.util包中的,也有一部分在java.util.concurrent 這里面是一些支持并發(fā)編程的集合類

原文地址https://itzmn.github.io/2018/12/05/java%E9%9B%86%E5%90%88%E6%80%BB%E7%BA%B2/

概況

java的集合分為兩種,一種是實現了map接口的key-value形式的,每個位置存放一對數據。一種是實現了Collection接口的每個位置存放一個數據,

具體實現

Collection

Collection是繼承了Iterable接口的

我們看一下Iterable接口是干嘛的,接口的簡介說實現此接口,可以讓其成為可以使用for-each的目標,也就是說實現這個接口的集合,都可以被遍歷。

// 這是接口內部的方法,返回類型元素的迭代器
Iterator<T> iterator();

Collection接口下有三個子接口

  • List
    • ArrayList
    • LinkedList
  • Set
    • HashSet
    • LinkedHashSet
    • TreeSet
  • Queue
    • Deque
      • LinkedList

現在對每一種進行簡單介紹

List 是一個有序,可重復的集合。添加數據,獲取數據也是按照添加數據的順序

  • ArrayList
    ArrayList是基于數組實現的List類,它封裝了一個動態(tài)的增長的、允許再分配的Object[]數組。
  • LinkedList
    是基于鏈表實現的,他還實現了Deque接口,可以進行雙端隊列操作

Set 是一個不可有重復的集合

  • HashSet
    這是一個無序的集合,
  • LinkedHashSet
    這是一個有序的集合,底層按照數據添加順序維護

Queue是一個隊列,先入先出

  • Deque
    也是一個可以進行雙端隊列操作的
    • LinkedList
    • ArrayQueue

Map

map用于保存一個映射關系的數據的,存儲是key-value形式的數據。map不允許存儲key相同的數據

  • HashMap
    不能保證數據的順序性,
  • HashTable
  • SortMap
    • TreeMap
      基于紅黑樹實現,可以根據key對數據進行排序

下面我們會對這些集合類,進行進一步探討

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容