在電腦科學中,容器是指一種類、數據結構、[1][2]或者抽象資料類型,其實例為其他類的對象。換言之,它們以一種遵循特定訪問規則的方法來儲存對象。容器的大小取決於其包含的對象(或元素)的數目。潛在的不同容器類型的實現可能在空間和時間複雜度上有所差別,這使得在給定應用場景中選擇合適的某種實現具有靈活性。
概覽
容器可以三種方式看待:
- 訪問:即訪問容器中對象的方式。
- 儲存:即儲存容器中對象的方式。
- 遍歷:即遍歷容器中對象的方式。
典型的容器實現如下的方法:
- 建立一個新的空容器(即建構函式)。
- 向容器中插入對象。
- 從容器中刪除對象。
- 刪除容器中的所有對象(即清空)。
- 訪問容器中的對象。
- 取得容器中對象的數目(即尺寸)。
並非所有設計遵循以上要求,例如C++標準庫的std::array
不提供清空,而std::forward_list
不提供對象計數。
容器有時結合迭代器實現。
Remove ads
分類
圖形容器
部件工具箱使用特殊控制項(也稱作容器)去將其他控制項分組(窗口、面板等)。除它們的圖形特性之外,它們有和容器類一致的表現:它們存有它們子控制項的列表,並且允許對子控制項進行增加、刪除或取得等操作。
不同實現
- .NET: System.Collections (MSDN)(頁面存檔備份,存於互聯網檔案館)
- ActionScript3: AS3Commons Collections Framework
- C++: C++標準庫 (SC++L) or the obsolete 標準模板庫 (STL)
- Java: Java集合框架(JCF)
- Objective-C: Foundation Kit的部分。
- PL/SQL: 集合[6]
- Python: 內建容器 list、dict、tuple和set,可使用collections(頁面存檔備份,存於互聯網檔案館)模組進一步拓展。
- Scala: 在
scala.collection.mutable
andscala.collection.immutable
包中的可變及不可變容器。
參見
參考資料
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.
Remove ads