類集(Collection)就是一個動態的對象數組。Java的類集框架使程式處理對象組的方法標準化。在Java 2出現之前,Java提供了一些專門的類如Dictionary、Vector、Stack和Properties去存儲和操作對象組。儘管這些類非常有用,它們卻缺少一個集中,統一的主題。因此例如說使用Vector的方法就會與使用Properties的方法不同。以前的專門的方法也沒有被設計成易於擴展和能適應新的環境的形式。而類集解決了這些(以及其他的一些)問題。
基本介紹
- 中文名:類集
- 外文名:Collection
- 性質:動態的對象數組
- 注音:lèi jí ㄌㄟˋ ㄐㄧˊ
漢語詞語,Java術語,
漢語詞語
【詞語】:類集
【注音】:lèi jí ㄌㄟˋ ㄐㄧˊ
【釋義】:
謂將相同或相關的匯集成一類。 晉 葛洪 《抱朴子·省煩》:“次其源流,總合其事,類集以相從。”《初刻拍案驚奇》卷四:“雖非真仙的派,卻是專一除惡扶善,功行透了的,也就藉此成仙,所以好事的類集他做《劍俠傳》。”
Java術語
類集框架被設計用於適應幾個目的。首先,這種框架是高性能的。對基本類集(動態數組、連結表、樹和散列表)的實現是高效率的。一般很少需要人工去對這些“數據引擎”編寫代碼(如果有的話)。第二點,框架必須允許不同類型的類集以相同的方式和高度互操作方式工作。第三點,類集必須是容易擴展和/或修改的。為了實現這一目標,類集框架被設計成包含一組標準的接口。對這些接口,提供了幾個標準的實現工具(例如LinkedList、HashSet和TreeSet),通常就是這樣使用的。為了方便起見,創建用於各種特殊目的的實現工具。一部分工具可以使自己的類集實現更加容易。最後,增加了允許將標準數組融合到類集框架中的機制。
算法(Algorithms)是類集機制的另一個重要部分。算法操作類集,它在Collections類中被定義為靜態方法。因此它們可以被所有的類集所利用。每一個類集類不必實現它自己的方案,算法提供了一個處理類集的標準方法。
由類集框架創建的另一項是Iterator接口。一個疊代程式(iterator)提供了一個多用途的,標準化的方法,用於每次訪問類集的一個元素。因此疊代程式提供了一種枚舉類集內容(enumerating the contents of a collection)的方法。因為每一個類集都實現Iterator,所以通過由Iterator定義的方法,任一類集類的元素都能被訪問到。因此,稍作修改,循環通過集合的程式代碼也可以被用來循環通過列表。
除了類集之外,框架定義了幾個映射接口和類。映射(Maps)存儲鍵/值對。儘管映射在對象的正確使用上不是“類集”,但它們完全用類集集成。在類集框架的語言中,可以獲得映射的類集“視圖”(collection-view)。這個“視圖”包含了從存儲在類集中的映射得到的元素。因此,如果選擇了一個映射,就可以將其當做一個類集來處理。
對於由java.util定義的原始類,類集機制被更新以便它們也能夠集成到新的系統里。所以理解下面的說法是很重要的:儘管類集的增加改變了許多原始工具類的結構,但它卻不會導致被拋棄。類集僅僅是提供了處理事情的一個更好的方法。
最後的一點:如果對C++比較熟悉的話,那么可以發現Java的類集技術與在C++中定義的標準模板庫(STL)相似。在C++中叫做容器(container),而在Java中叫做類集。