キーを2つ持つマップの作成

マップと言うと、地図を思い浮かべる方が多いと思いますが、プログラミングでは「あるオブジェクトに対応づけられているオブジェクトの集合」ってことになります。鍵の束と、金庫がたくさんあるような状態って言えばいいんでしょうか。

Javaでデフォルトで提供されているMapは、キーが1つに対して値が1つなんですが、これだとやや不便な場合があります。たとえば、学校のクラスの生徒数を調べたい場合に、学年とクラス番号をキーとして扱えればいいなぁというような状態。ま、単純に学年とクラス番号を1つのオブジェクトとして扱って、1つのキーとするのが一番手っ取り早いんですが、そのために毎回オブジェクトを作成するのもなんかもったいない気がする、てことで2つキーを持つマップを作ってみました。

初めはかなり思いつきで、HashMapの模倣版を作成。適当に作ったわりには簡単にできた感触。そのあとは、JavaAPIを見習って、その上位のAbstractクラスを作ってみました。AbstractMapを参考にしたんですが、かなりよくできてます。パフォーマンスはおいといて、端的に実現するにはあんな方法があるんですね。entrySetを実装するだけで、ほとんどのメソッドが使用できるなんてかなりありがたい話です。

トラックバック(0)

このブログ記事を参照しているブログ一覧: キーを2つ持つマップの作成

このブログ記事に対するトラックバックURL: http://trialpc.net/mt/mt-tb.cgi/595

コメントする

Advertizement

このブログ記事について

このページは、tetsuが2005年11月26日 03:33に書いたブログ記事です。

ひとつ前のブログ記事は「ネコになつかれる」です。

次のブログ記事は「明日は演奏会」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 5.0

最近のコメント

カウンタ

リンク