Hatena::Grouperlang

檜山正幸のErlang未確認情報 RSSフィード

 | 

2009-04-16 (木)

ETSのテーブルの種類

| 16:40

ETSテーブルは:

  1. セット型
  2. 順序付きセット型
  3. バッグ型
  4. 重複可能バッグ型

がある。この分類が分かりにくい。なんで分かりにくいんか? と考えたら、対称性が欠けているからだろう、と思った。

どんなコレクションであれ、コンピュータでは列(リスト)になる。順序がないとか言っても有るよ、必ず! で、テーブルつうかマップの場合、データのリストとキーのリストがある。それで分類して:

重複なし 重複を許す
キーリスト セット型 バッグ型
データリスト - 重複可能バッグ型

というわけで、2×2分類で一箇所が無意味で3種となる。重複のチェックをするとパフォーマンスは落ちる。

順序付きセット型とは、そもそも違うデータ構造を使って、セット型が常に一定の順序で並んでいることを保証する。これを入れて4種ってことね。

 |