首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 抽象資料型態(ADT)與集合框架實戰指南

     編輯:Java 相關知識

ADT 核心觀念

抽象資料型態(ADT)僅定義「資料型態」與「可執行操作」,隱藏實作細節。Java 以 interface 定義操作契約,類別實作介面即可滿足契約,呼叫端不依賴具體實作。

經典 ADT:List、Stack、Queue

  • List:有限有序元素,支援隨機存取。
  • Stack:後進先出(LIFO),僅操作堆疊頂端。
  • Queue:先進先出(FIFO),尾端加入、頭端取出。

內部可用陣列或鏈結串列實作,對外介面不變,利於維護與升級。

Java Collections Framework 架構

核心介面體系

  • Collection:根介面,定義 add、remove、iterator 等基本操作。
  • Iterator:hasNext、next、remove,安全遍歷與移除。
  • AbstractCollection:提供除 iterator/size 外的預設實作。

List 介面與實作

  • List 繼承 Collection,允許重複元素,支援索引操作(get、set、add(index, e))。
  • ListIterator:雙向遍歷,支援修改。
  • 兩大實作:ArrayList(動態陣列,隨機存取快)、LinkedList(雙向鏈結,頭尾增刪快,可作 Stack/Queue)。

程式範例:反向遍歷 List

ListIterator iter = aList.listIterator(aList.size());
while (iter.hasPrevious())
    System.out.println(iter.previous().toString());

Stack/Queue 替代方案

LinkedList queue = new LinkedList(coll);
queue.addFirst(elem);  // 入隊
Object e = queue.removeLast(); // 出隊

LinkedList stack = new LinkedList(coll);
stack.addFirst(elem);  // push
Object e = stack.removeFirst(); // pop

介面與實作分離的威力

ADT 讓實作細節可演進而不影響呼叫端。Collections Framework 提供豐富介面與實作,助您建構彈性、可維護的資料結構。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved