連絡先の名前と連絡先に関連付けられている電話番号のリストを関連付けるためにjava.util.HashMapを使用しているため、タイプはString, List<String>
です。ただし、Say key1の場合と同じバケットに正しくマップできるキーが複数存在する可能性があります。<1234,5678>は、ハッシュマップのインデックス2に格納されます。同じインデックスにハッシュできる別のkey2を持つことができます。したがって、key1:<1234,5678>はkey2:<7890,1456>に置き換えられますか???? または、チェーン化され、key1とkey2の両方がそのインデックスに格納されますか?
編集:私はこれを理解しようとしています、以下のコードはニューメキシコのみを返します。この場合、両方とも同じハッシュコードを取得するので、これは衝突が正しいですか?その場合、両方の値を連鎖させるべきではありませんか?したがって、ストレージはハッシュコードが2であると言うように見えるべきではなく、マップ(OR配列)の2のインデックスでは、1-メキシコ、1-新しいメキシコは正しいはずです。したがって、返される値はメキシコとニューメキシコのものである必要がありますか?なぜここで連鎖しないのですか?
public static void main(String[] args)
{
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1, "Mexico");
map.put(1, "New Mexico");
System.out.println(map.get(1));
}