の4章コレクションにおいて、java.util.Hashtableのハッシュコードから格納しているテーブルのインデックスを計算するアルゴリズムとしてテーブル長の剰余を使用しているとあります。そこで、java.util.Hashtableとjava.util.HashMapについてハッシュコードからテーブルインデックスを算出するロジックを実際のソースコードで調べてみました。 JDK1.6.0b81のソースでは、それぞれ以下のようになっていました。 java.util.Hashtable int index = (hash & 0x7FFFFFFF) % table.length java.util.HashMap int i = indexFor(hash, table.length); : static int indexFor(int h, int length) { return h