C語言中文網 目錄

Java集合類的概念

Java 的所有集合類都位于 java.util 包,其中提供了一個表示和操作對象集合的統一構架,包含大量集合接口,以及這些接口的實現類和操作它們的算法。

一個集合是一個對象,但它表示一組對象,Java 集合中實際存放的是對象的引用值,不能存放基本數據類型值。

集合中的接口

集合框架是一個類庫的集合,包含實現集合的接口。接口是集合的抽象數據類型,提供對集合中所表示的內容進行單獨操作的可能。
  • Collection 接口:該接口是最基本的集合接口,一個 Collection 代表一個元素。
  • List 接口:該接口實現了 Collection 接口。List 是有序集合,允許有相同的元素。使用 List 能夠精確地控制每個元素插入的位置,用戶能夠使用索引(元素在 List 中的位置,類似于數組下標)來訪問 List 中的元素,與數組類似。
  • Set 接口:該接口也實現了 Collection 接口。它不能包含重復的元素,SortedSet 是按升序排列的 Set 集合。
  • Map 接口:包含鍵值對,Map 不能包含重復的鍵。SortedMap 是一個按升序排列的 Map 集合。

集合框架中的接口結構如圖 1 所示。


圖1 集合框架中的接口結構圖

接口實現類

Java 平臺提供了許多數據集接口的實現類。例如實現 Set 接口的常用類有 HashSet 和 TreeSet,它們都可以容納所有類型的對象,但是不能保證序列順序永久不變。

實現 List 接口的常用類有 ArrayList 和 LinkedList,它們也可以容納所有類型的對象包括 null,并且都保證元素的存儲位置。

實現 Map 映射的類是 HashMap,可實現一個鍵到值的映射。
  • HashSet:為優化査詢速度而設計的 Set。它是基于 HashMap 實現的,HashSet 底層使用 HashMap 來保存所有元素,實現比較簡單。
  • TreeSet:該類不僅實現了 Set 接口,還實現了 java.util.SortedSet 接口,該實現類是一個有序的 Set,這樣就能從 Set 里面提取一個有序序列。
  • ArrayList:一個用數組實現的 List,能進行快速的隨機訪問,效率高而且實現了可變大小的數組。
  • LinkedList:對順序訪問進行了優化,但隨機訪問的速度相對較慢。此外它還有 addFirst()、addLast()、getFirst()、getLast()、removeFirst() 和 removeLast() 等方法,能把它當成棧(Stack)或隊列(Queue)來用。

集合框架接口中實現類 的結構如圖 2 所示。


圖2 集合框架中的實現類結構圖

精美而實用的網站,提供C語言、C++、STL、Linux、Shell、Java、Go語言等教程,以及socket、GCC、vi、Swing、設計模式、JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo
极速pk10开户