HashMap同じkeyを挿入
1123 ワード
HashMap挿入の説明
HashMapを使用すると、挿入操作時にequalメソッドでkeyが同じかどうかを判断します.同じ場合、対応するvalueが上書きされます.違うのは新しい「桶」を使うことです.
私の質問
HashMapにデータを挿入すると、同じkeyがあっても上書き操作せずに、新しいvalueを元のvalue付近で見つけられる位置に置くことができますか?
の意見を打診
ええ、実は大体方向はHashMapで実現しています...
コードを貼る
出力結果を貼り付ける
{1=[1, 3], 2=[2], 3=[4]}
終わります.
見てくれてありがとう.
HashMapを使用すると、挿入操作時にequalメソッドでkeyが同じかどうかを判断します.同じ場合、対応するvalueが上書きされます.違うのは新しい「桶」を使うことです.
私の質問
HashMapにデータを挿入すると、同じkeyがあっても上書き操作せずに、新しいvalueを元のvalue付近で見つけられる位置に置くことができますか?
の意見を打診
ええ、実は大体方向はHashMapで実現しています...
コードを貼る
import java.util.ArrayList;
import java.util.HashMap;
public class MapAndLink {
public static void main(String[] args){
HashMap map = new HashMap<>();
put(1, 1, map);
put(1, 3, map);
put(2, 2, map);
put(3, 4, map);
put(1, 3, map);
System.out.println(map.toString());
}
public static void put(Integer key, Integer str, HashMap map){
ArrayList list = map.get(key);
if(list == null)
list = new ArrayList();
for(int i = 0; i < list.size(); ++i){
if(list.get(i).equals(str))
return;
}
list.add(str);
map.put(key, list);
}
}
出力結果を貼り付ける
{1=[1, 3], 2=[2], 3=[4]}
終わります.
見てくれてありがとう.