集合接口
核心集合接口封裝了不同類型的集合,如下圖所示,這些接口允許獨立于其表示的細節(jié)來操縱集合,核心集合接口是Java集合框架的基礎,如下圖所示,核心集合接口形成層次結構。
Set是一種特殊的Collection,SortedSet是一種特殊的Set,依此類推,另請注意,層次結構由兩個不同的樹組成 — Map不是真正的Collection。
請注意,所有核心集合接口都是泛型,例如,這是Collection接口的聲明。
public interface Collection...
當你了解如何使用這些接口時,你將了解有關Java集合框架的大部分知識,本章討論有效使用接口的通用準則,包括何時使用哪個接口,你還將學習每個接口的編程語法,以幫助你充分利用它。
為了保持核心集合接口的數量可管理,Java平臺不為每個集合類型的每個變體提供多帶帶的接口(此類變體可能包括不可變、固定大小和僅附加),相反,每個接口中的修改操作被指定為可選的 — 給定的實現可以選擇不支持所有操作。如果調用了不受支持的操作,則集合將拋出UnsupportedOperationException,實現負責記錄它們支持哪些可選操作,所有Java平臺的通用實現都支持所有可選操作。
以下列表描述了核心集合接口:
Collection — 集合層次結構的根,集合表示一組稱為其元素的對象,Collection接口是所有集合實現的最小公分母,用于傳遞集合并在需要最大通用性時對其進行操作。某些類型的集合允許重復元素,而其他集合則不允許,有些是有序的,有些則是無序的。Java平臺不提供此接口的任何直接實現,但提供了更具體的子接口的實現,例如Set和List,另請參閱Collection接口部分。
Set — 一個不能包含重復元素的集合,該接口模擬數學集抽象,用于表示集合,例如包含撲克牌的牌,構成學生日程表的課程或在機器上運行的進程,另請參見Set接口部分。
List — 有序集合(有時稱為序列),List可以包含重復元素,List的用戶通??梢跃_控制列表中每個元素的插入位置,并可以通過整數索引(位置)訪問元素,如果你使用過Vector,那么你就熟悉List的一般風格,另請參閱List接口部分。
Queue — 用于在處理之前保存多個元素的集合,除了基本的Collection操作外,Queue還提供追加插入、提取和檢查操作。
Queue通常(但不一定)以FIFO(先進先出)方式對元素進行排序,除了優(yōu)先級隊列之外,優(yōu)先級隊列根據提供的比較器或元素的自然順序對元素進行排序。無論使用什么順序,隊列的頭部是通過調用remove或poll移除元素,在FIFO隊列中,所有新元素都插入隊列的尾部,其他類型的隊列可能使用不同的放置規(guī)則,每個Queue實現都必須指定其排序屬性,另請參閱Queue接口部分。
Deque — 用于在處理之前保存多個元素的集合,除了基本的Collection操作外,Deque還提供追加插入、提取和檢查操作。
Deque可用作FIFO(先進先出)和LIFO(后進先出),在雙端隊列中,可以在兩端插入、檢索和刪除所有新元素,另請參閱Deque接口部分。
Map — 將鍵映射到值的對象,Map不能包含重復的鍵,每個鍵最多可以映射一個值,如果你使用過Hashtable,那么你已經熟悉了Map的基礎知識,另請參閱Map接口部分。
最后兩個核心集合接口只是Set和Map的排序版本:
SortedSet — 一個按升序維護其元素的Set,提供了幾個額外的操作以利用排序,排序集用于自然排序的集合,例如單詞列表和成員名冊,另請參閱SortedSet接口部分。
SortedMap — 按升序鍵順序維護映射的Map,這是SortedSet的Map模擬,排序映射用于自然排序的鍵/值對集合,例如字典和電話目錄,另請參閱SortedMap接口部分。
要了解排序接口如何維護其元素的順序,請參閱對象排序部分。
接口摘要核心集合接口是Java集合框架的基礎。
Java集合框架層次結構由兩個不同的接口樹組成:
第一個樹以Collection接口開始,它提供了所有集合使用的基本功能,例如add和remove方法,它的子接口 — Set、List和Queue — 提供更專業(yè)的集合。
Set接口不允許重復元素,這對于存儲諸如一副紙牌或學生記錄之類的集合非常有用,Set接口有一個子接口SortedSet,它提供了集合中元素的排序。
List接口提供有序集合,適用于需要精確控制每個元素插入位置的情況,你可以按照其確切位置從List中檢索元素。
Queue接口支持追加插入、提取和檢查操作,Queue中的元素通常以FIFO為基礎進行排序。
Deque接口可以在兩端插入、刪除和檢查操作,Deque中的元素可用于LIFO和FIFO。
第二個樹以Ma??p接口開始,它映射鍵和值類似于Hashtable。
Map的子接口SortedMap按升序或按Comparator指定的順序維護其鍵值對。
這些接口允許獨立于其表示的細節(jié)來操縱集合。
上一篇:集合介紹 下一篇:Collection接口文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73100.html
集合介紹 本節(jié)介紹Java集合框架,在這里,你將了解集合是什么以及它們如何使你的工作更輕松、程序更好,你將了解構成Java集合框架的核心元素 — 接口、實現、聚合操作和算法。 集合 — 有時稱為容器 — 只是一個將多個元素組合到一個單元中的對象,集合用于存儲、檢索、操作和傳遞聚合數據。通常,它們代表形成自然組的數據項,例如撲克牌(卡片集合)、郵件文件夾(信件集合)或電話目錄(名稱到電話號碼的映射)...
Java? 教程 Java教程是為JDK 8編寫的,本頁面中描述的示例和實踐沒有利用在后續(xù)版本中引入的改進。 Java教程是希望使用Java編程語言創(chuàng)建應用程序的程序員的實用指南,其中包括數百個完整的工作示例和數十個課程,相關課程組被組織成教程。 覆蓋基礎知識的路徑 這些教程以書籍的形式提供,如Java教程,第六版,前往Amazon.com購買。 入門 介紹Java技術和安裝Java開發(fā)軟件并使用...
Set接口 Set是一個不能包含重復元素的Collection,它模擬了數學集抽象,Set接口僅包含從Collection繼承的方法,并添加禁止重復元素的限制,Set還為equals和hashCode操作的行為添加了一個更強的契約,允許Set實例有意義地進行比較,即使它們的實現類型不同,如果兩個Set實例包含相同的元素,則它們是相等的。 Java平臺包含三個通用的Set實現:HashSet、Tre...
Collection接口 Collection表示一組稱為其元素的對象,Collection接口用于傳遞需要最大通用性的對象集合,例如,按照慣例,所有通用集合實現都有一個帶有Collection參數的構造函數,此構造函數(稱為轉換構造函數)初始化新集合以包含指定集合中的所有元素,無論給定集合的子接口或實現類型如何,換句話說,它允許你轉換集合的類型。 例如,假設你有一個Collection c,它可...
高級并發(fā)對象 到目前為止,本課程重點關注從一開始就是Java平臺一部分的低級別API,這些API適用于非常基礎的任務,但更高級的任務需要更高級別的構建塊,對于充分利用當今多處理器和多核系統的大規(guī)模并發(fā)應用程序尤其如此。 在本節(jié)中,我們將介紹Java平臺5.0版中引入的一些高級并發(fā)功能,大多數這些功能都在新的java.util.concurrent包中實現,Java集合框架中還有新的并發(fā)數據結構。 ...
閱讀 3528·2021-09-22 15:50
閱讀 3233·2019-08-30 15:54
閱讀 2748·2019-08-30 14:12
閱讀 3058·2019-08-30 11:22
閱讀 2079·2019-08-29 11:16
閱讀 3574·2019-08-26 13:43
閱讀 1192·2019-08-23 18:33
閱讀 920·2019-08-23 18:32