ホーム > 開発 > Delphiのコレクション

Delphiのコレクション

Delphiに標準で付属するコレクション(コンテナ)は、配列リストと簡易的なハッシュマップのみです(動的配列もありますが、本質的には配列リストと同じ物です)。少々手札が足りないので、探して回りました。

いくつか見つかりましたが、過不足無く仕上がっているのは、DCLXぐらいのようです。Java Collection Frameworkを模したデザインで、非常に良く出来ていると思います。

しかしメモリ管理が、標準のTObjectListと同様の自動削除か、interface参照を使った参照カウンタを想定しています。僕は独自のメモリ管理を持ち込んでしまったので、整合しません。

結局諦めて、参照カウンタと自動解放プールに適合する配列リストを実装しました。追々、セットやマップも書かなきゃならなくなると思います。せっかくなので、参照カウンタの基底クラスに等価判定の仮想メソッドを追加して、コレクションから呼び出すようにしました。これでクラスの実装によっては、値ベースの検索が可能になります。同様にハッシュ算出のメソッドも用意したので、セットやマップを作る時に使えると思います。ついでに、挿入と削除で通知を起動する機構を付けました。

このぐらいやれば、コレクションを実装する手間も元が取れそうですが、ツリーセットやハッシュマップなどの面倒なやつは実装するのは気が重いです(^_^;;

広告
カテゴリー:開発 タグ:
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。