わりと多種類で使い方に迷うJavaの連想配列(Map)について、各実装の紹介と周辺知識をまとめました。Javaに触れる際の参考になれば。 鉄則その1「とりあえずHashMap」 Mapインタフェースの実装はたくさんありますが、まずはHashMapから使うことを勧めます。HashMapはハッシュテーブルというシンプルなアルゴリズムにもとづく実装であり、理論上はデータ量に関係なく一定の時間で挿入・参照・削除を行えることになっています*1。ヒープの消費が特にひどいということもありません。 鉄則その2「hashCode,equals,compareToを正しく実装」 キーとして使用するインスタンスはhashCodeメソッドやequalsメソッドを正しく実装しなければならないことに注意してください。正しく実装されないと「データ量に関わらず少ない時間で操作できる」という優位性を損なったり、そもそも期待

