9. コレクション(Collections)

この章では集約されたデータ型(コレクション)のデザインについて説明する。 Dylan言語により提供される具象クラスに加えて、コレクションクラスの異種階層は 抽象クラスをいくつか含み、それぞれある特別の振る舞いを実現している。 それらは普通、総称関数の呼び出し規約(protocol)として表現される。 抽象クラスの各部分クラスは対応する呼び出し規約の総称関数をそれぞれ実装する。

次のダイアグラムはコレクションクラスの異種階層を示す。 抽象クラスは斜体で、シールドクラスは太字で示されている。

  1. コレクションに対する関数 (Functions for Collections)

  2. 列に対する関数 (Functions for Sequences)

  3. インスタンス化可能なコレクションクラス (The Instantiable Collection Classes)

  4. 配列上の操作 (Operations on Arrays)

  5. Deques上の操作 (Operations on Deques)

  6. リスト上の操作 (Operations on Lista>

  7. 範囲上の操作 (Operations on Ranges)

  8. 伸縮ベクタ上の操作 (Operations on Stretchy Vectors)

  9. 文字列上の操作 (Operations on Strings)

  10. テーブル上の操作 (Operations on Tables)

  11. ベクタ上の操作 (Operations on Vectors)

  12. 繰り返し規約 (The Iteration Protocol)

  13. 繰り返しに関する安定性と自然な順序 (Iteration Stability and Natural Order)

  14. コレクションキー (Collection Keys)

  15. 変異可能性 (Mutability)

  16. コレクションの整列 (Collection Alignment)

  17. 新しいコレクションクラスを定義する:要約 (Defining a New Collection Class: A Summary)


目次 索引文字とシンボル(次章)