集合介紹
本節(jié)介紹Java集合框架,在這里,你將了解集合是什么以及它們?nèi)绾问鼓愕墓ぷ鞲p松、程序更好,你將了解構(gòu)成Java集合框架的核心元素 — 接口、實現(xiàn)、聚合操作和算法。
集合 — 有時稱為容器 — 只是一個將多個元素組合到一個單元中的對象,集合用于存儲、檢索、操作和傳遞聚合數(shù)據(jù)。通常,它們代表形成自然組的數(shù)據(jù)項,例如撲克牌(卡片集合)、郵件文件夾(信件集合)或電話目錄(名稱到電話號碼的映射),如果你使用過Java編程語言 — 或者幾乎任何其他編程語言 — 你已經(jīng)熟悉了集合。
什么是集合框架集合框架是用于表示和操作集合的統(tǒng)一體系結(jié)構(gòu),所有集合框架都包含以下內(nèi)容:
接口:這些是表示集合的抽象數(shù)據(jù)類型,接口允許獨立于其表示的細(xì)節(jié)來操縱集合,在面向?qū)ο笳Z言中,接口通常形成層次結(jié)構(gòu)。
實現(xiàn):這些是集合接口的具體實現(xiàn),實質(zhì)上,它們是可重用的數(shù)據(jù)結(jié)構(gòu)。
算法:這些是對實現(xiàn)集合接口的對象執(zhí)行有用計算(如搜索和排序)的方法,算法被認(rèn)為是多態(tài)的:也就是說,相同的方法可以用于適當(dāng)?shù)募辖涌诘脑S多不同實現(xiàn),實質(zhì)上,算法是可重用的功能。
除了Java集合框架之外,最著名的集合框架示例是C++標(biāo)準(zhǔn)模板庫(STL)和Smalltalk的集合層次結(jié)構(gòu),從歷史上看,集合框架相當(dāng)復(fù)雜,這使得它們難以學(xué)習(xí),我們相信Java集合框架打破了這一傳統(tǒng),因為你將在本章中自學(xué)。
Java集合框架的優(yōu)點Java集合框架提供以下好處:
減少編程工作量:通過提供有用的數(shù)據(jù)結(jié)構(gòu)和算法,集合框架可以讓你專注于程序的重要部分,而不是使其工作所需的低級“設(shè)施”,通過促進(jìn)不相關(guān)API之間的互操作性,Java集合框架使你無需編寫適配器對象或轉(zhuǎn)換代碼來連接API。
提高程序速度和質(zhì)量:此集合框架提供有用的數(shù)據(jù)結(jié)構(gòu)和算法的高性能、高質(zhì)量實現(xiàn),每個接口的各種實現(xiàn)是可互換的,因此可以通過切換集合實現(xiàn)來輕松調(diào)整程序,因為你沒有編寫自己的數(shù)據(jù)結(jié)構(gòu)的苦差事,所以你將有更多的時間用于改進(jìn)程序的質(zhì)量和性能。
允許不相關(guān)的API之間的互操作性:集合接口是API來回傳遞集合的術(shù)語,如果我的網(wǎng)絡(luò)管理API提供了一組節(jié)點名稱,并且你的GUI工具包需要一組列標(biāo)題,那么我們的API將無縫地互操作,即使它們是獨立編寫的。
減少學(xué)習(xí)和使用新API的工作量:許多API自然地在輸入上收集集合并將它們作為輸出提供,過去,每個這樣的API都有一個專門用于操作其集合的小型子API,這些ad hoc集合子API之間幾乎沒有一致性,因此你必須從頭開始學(xué)習(xí)每一個,并且在使用它們時很容易出錯,隨著標(biāo)準(zhǔn)集合接口的出現(xiàn),問題就消失了。
減少設(shè)計新API的工作量:這是之前的優(yōu)勢的另一面,設(shè)計人員和實施人員每次創(chuàng)建依賴于集合的API時都不必重新發(fā)明輪子,相反,他們可以使用標(biāo)準(zhǔn)的集合接口。
促進(jìn)軟件重用:符合標(biāo)準(zhǔn)集合接口的新數(shù)據(jù)結(jié)構(gòu)本質(zhì)上是可重用的,對于實現(xiàn)這些接口的對象進(jìn)行操作的新算法也是如此。
下一篇:集合接口文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/73073.html
Java? 教程 Java教程是為JDK 8編寫的,本頁面中描述的示例和實踐沒有利用在后續(xù)版本中引入的改進(jìn)。 Java教程是希望使用Java編程語言創(chuàng)建應(yīng)用程序的程序員的實用指南,其中包括數(shù)百個完整的工作示例和數(shù)十個課程,相關(guān)課程組被組織成教程。 覆蓋基礎(chǔ)知識的路徑 這些教程以書籍的形式提供,如Java教程,第六版,前往Amazon.com購買。 入門 介紹Java技術(shù)和安裝Java開發(fā)軟件并使用...
集合接口 核心集合接口封裝了不同類型的集合,如下圖所示,這些接口允許獨立于其表示的細(xì)節(jié)來操縱集合,核心集合接口是Java集合框架的基礎(chǔ),如下圖所示,核心集合接口形成層次結(jié)構(gòu)。 showImg(https://segmentfault.com/img/bVbntJW?w=402&h=146); Set是一種特殊的Collection,SortedSet是一種特殊的Set,依此類推,另請注意,層次結(jié)構(gòu)...
高級并發(fā)對象 到目前為止,本課程重點關(guān)注從一開始就是Java平臺一部分的低級別API,這些API適用于非常基礎(chǔ)的任務(wù),但更高級的任務(wù)需要更高級別的構(gòu)建塊,對于充分利用當(dāng)今多處理器和多核系統(tǒng)的大規(guī)模并發(fā)應(yīng)用程序尤其如此。 在本節(jié)中,我們將介紹Java平臺5.0版中引入的一些高級并發(fā)功能,大多數(shù)這些功能都在新的java.util.concurrent包中實現(xiàn),Java集合框架中還有新的并發(fā)數(shù)據(jù)結(jié)構(gòu)。 ...
以下是Java技術(shù)棧微信公眾號發(fā)布的關(guān)于 Java 的技術(shù)干貨,從以下幾個方面匯總。 Java 基礎(chǔ)篇 Java 集合篇 Java 多線程篇 Java JVM篇 Java 進(jìn)階篇 Java 新特性篇 Java 工具篇 Java 書籍篇 Java基礎(chǔ)篇 8張圖帶你輕松溫習(xí) Java 知識 Java父類強制轉(zhuǎn)換子類原則 一張圖搞清楚 Java 異常機制 通用唯一標(biāo)識碼UUID的介紹及使用 字符串...
Set接口 Set是一個不能包含重復(fù)元素的Collection,它模擬了數(shù)學(xué)集抽象,Set接口僅包含從Collection繼承的方法,并添加禁止重復(fù)元素的限制,Set還為equals和hashCode操作的行為添加了一個更強的契約,允許Set實例有意義地進(jìn)行比較,即使它們的實現(xiàn)類型不同,如果兩個Set實例包含相同的元素,則它們是相等的。 Java平臺包含三個通用的Set實現(xiàn):HashSet、Tre...
閱讀 1772·2021-11-15 11:37
閱讀 3044·2021-11-04 16:05
閱讀 1910·2021-10-27 14:18
閱讀 2742·2021-08-12 13:30
閱讀 2486·2019-08-29 14:18
閱讀 2076·2019-08-29 13:07
閱讀 2004·2019-08-27 10:54
閱讀 2714·2019-08-26 12:15