日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

認(rèn)識(shí)Java Collections (一)

 昵稱5370487 2011-01-04
集合(Collections):也常被叫做容器(Container),是一種將多個(gè)元素聚合起來(lái)組成一個(gè)單元的對(duì)象。它常常用來(lái)儲(chǔ)存、檢索、操作聚合的數(shù)據(jù)。
Java Collections Framework包含以下3個(gè)要素:
1.接口
使用抽象的數(shù)據(jù)類型來(lái)表示集合,使集合的操作具有數(shù)據(jù)獨(dú)立性,不和特定的數(shù)據(jù)類型相關(guān)
2.實(shí)現(xiàn)
實(shí)現(xiàn)了接口的定義,可復(fù)用的數(shù)據(jù)結(jié)構(gòu)
3.算法
算法是高效的可復(fù)用的功能單元,比如排序、搜索等。同時(shí),算法又具有多態(tài)性,同一個(gè)算法可以被同一接口的不同實(shí)現(xiàn)進(jìn)行調(diào)用。

從接口開始,來(lái)觀察一下Collections的結(jié)構(gòu)。

接口
核心的Collections接口封裝了不同的集合類型,如下圖所示:

這些集合的接口,給予我們?cè)谔幚砑蠒r(shí)忽略特定數(shù)據(jù)類型的能力。同時(shí),它也是java 集合框架的基礎(chǔ)。應(yīng)當(dāng)注意,Map并不Collection.
所有的集合接口的聲明,都是泛型的,例如:
public interface Collection<E>......
而當(dāng)你需要一個(gè)Collection的實(shí)例時(shí),你需要使用特定的對(duì)象類型(String Integer 或者你自定義的對(duì)象)來(lái)替換E,以此來(lái)通知編譯器在編譯時(shí)將對(duì)象綁定。


為了確保Java Collections Interface的可維護(hù)性,Java平臺(tái)并沒(méi)有提供為每一種接口提供一些特殊需求的變種(這些變種可能包括不可更改的集合、固定長(zhǎng)度的集合、只能添加的集合等)。Java平臺(tái)的做法是,接口中定義的所有操作都被設(shè)計(jì)成可選的。一個(gè)接口的實(shí)現(xiàn)允許不支持接口中的方法。當(dāng)調(diào)用一個(gè)沒(méi)有被實(shí)現(xiàn)的操作時(shí),則會(huì)拋出UnsupportedOperationException異常。

下面是對(duì)核心接口的一些描述:
·Collection 是集合體系架構(gòu)的根,定義了所有集合最基本的操作。但是Java平臺(tái)并沒(méi)有給出此接口的具體實(shí)現(xiàn),因?yàn)椴煌慕涌谟胁煌男枨螅裕脚_(tái)實(shí)現(xiàn)的是繼承此接口的其它子接口,如List Queue等。

·Set  一種不能包含重復(fù)元素的集合,是對(duì)數(shù)學(xué)中的集合概念的建模。

·List  一個(gè)有序集合,有時(shí)也被稱作序列(sequence)。使用List,一般要對(duì)插入、訪問(wèn)進(jìn)行成本控制。

·Queue  一個(gè)用來(lái)容納具有處理優(yōu)先級(jí)的元素的集合,除了具備基本的集合操外,還實(shí)現(xiàn)了一些特殊的插入、彈出及檢查操作。
隊(duì)列是典型的以FIFO處理數(shù)據(jù)的數(shù)據(jù)類型,但是,這并不是唯一的選擇。除此之外,還有優(yōu)先級(jí)隊(duì)列等。隊(duì)列根據(jù)實(shí)現(xiàn)提供的comparator或者元素的自然序列排列。每一種隊(duì)列的實(shí)現(xiàn)都有自己的元素排列方式。

·Map  Map是一種將key與value相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)。不能包含重復(fù)的key,每一個(gè)key最多只能與一個(gè)value關(guān)聯(lián)。

最后兩種接口其實(shí)是Set與Map的sorted版本。包含了一些特殊的方法,按照升序來(lái)排列元素。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多