ADT/集合框架/泛型

Collections Framework

Java 需要集合框架(Collections Framework) ! ?
這句話老魚常在許多新學生甚至資深的開發者上看到這個問題, 許多人總是會說沒有 Collections API, 他仍然可以完成任務, 全靠 array[ ] 這物件. 是的! 老魚相信這點, 但這樣全靠 Array[ ] 到來的好壞影響, 身為開發者的您, 是否曾認真的思考過 ?




抽像資料型別(Abstract Data Type, ADT)


在 Java 中就相當於討論 Java 集合框架(Java Collections Framework) 的類別群.
ADT 線性表 的特徵加以不同的處理規後後, 一般常見的實作大多如下:

(Wikipedia)

抽象資料結構

即根據所要運算的資料以及其計算複雜性所定義的抽象儲存區,而不關心具體的資料結構的實作。就實作高效率的演算法而言,對資料結構的選擇相當重要。抽象資料結構的選擇,決定了高效率的演算法的 設計,和估計其計算複雜性。

這個概念與程式語言理論中所使用的抽象資料類型非常接近,大致上抽象資料結構和抽象資料類型的 名稱,和具體的資料結構的名稱一致。

  • Separation of interface and implementation
  • 程 序的一個重要特性-資料抽象

學習進度的建議路線


按 照正常的學習進展首先以了解
  1. Java SE - Java Collections Framework
    1. (分享製作圖) Java Collections (集合) Frameworks - Part 1
    2. (分享教學用圖表) Java Collections Framework 集合架構
    3. JDK1.6 集合類 UML 圖, 更好的使用Collection類
  2. Google Collections Library[Inside]
  3. Java SE - Concurrent Collections API
  4. javolution 提供一個性能較佳的集合(Collections)類別為主,
    也是 L2J Project 中所採用的, javolution 提供一個實時與嵌入式系統
    (Real-Time and Embedded Systems)
    的解決方案, 目前最新版本為 5.3.0.


當前 Java SE 6 仍存在的問題


涉及到的其它議題:


Java collections – Are there alternatives?

JDK 中英對照說明(老魚標注版)



References







Subpages (1): Google-Collections
Comments