Mapのメソッドについても、復習も兼ねてまとめていこうと思います。
適宜更新予定です。
#put(K key, V value)
指定された値と指定されたキーをこのマップで関連付けます。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
System.out.println(map);
//Mapの初期化と同時にキーと値のセットを行っているが、
//以下のように別々に実行してもOK.
//map.put("apple", "りんご");
//map.put("orange", "オレンジ");
//map.put("banana", "バナナ");
{orange=オレンジ, banana=バナナ, apple=りんご}
#get(Object key)
指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合はnullを返します。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
System.out.println(map.get("apple"));
System.out.println(map.get("app"));
りんご
null
#size()
このマップ内のキー値マッピングの数を返します。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
System.out.println(map.size());
3
#containsKey(Object key)
指定のキーのマッピングがこのマップに含まれている場合にtrueを返します。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
System.out.println(map.containsKey("orange"));
System.out.println(map.containsKey("banana"));
System.out.println(map.containsKey("oge"));
true
true
false
#containsValue(Object value)
マップが1つまたは複数のキーを指定された値にマッピングしている場合にtrueを返します。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
System.out.println(map.containsValue("りんご"));
System.out.println(map.containsValue("オレンジ"));
System.out.println(map.containsValue("レンジ"));
true
true
false
#clear()
マップからマッピングをすべて削除します。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
map.clear()
System.out.println(map);
{}
#entrySet()
このマップに含まれるマッピングのSetビューを返します。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
System.out.println(map.entrySet());
[orange=オレンジ, banana=バナナ, apple=りんご]
#keySet()
このマップに含まれるキーのSetビューを返します。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
//キーをいっぺんに取得可能
System.out.println(map.keySet());
//キーをひとつずつ取得する場合は下記のように拡張for文を使用する
for(String s : map.keySet()) {
System.out.println(s);
}
[orange, banana, apple]
orange
banana
apple
#values()
このマップに含まれる値のCollectionビューを返します。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
//値をいっぺんに取得可能
System.out.println(map.values());
//値をひとつずつ取得したい場合は下記のように拡張for文を使用する
for(String s : map.values()) {
System.out.println(s);
}
[オレンジ, バナナ, りんご]
オレンジ
バナナ
りんご
#remove(Object key)
このマップからキーのマッピング(ある場合)を削除します。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
map.remove("orange");
System.out.println(map);
//orangeが削除されている
{banana=バナナ, apple=りんご}
#remove(Object key, Object value)
指定された値に指定されたキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
//存在しない値を設定すると削除されず、そのまま
map.remove("orange","オレジ");
System.out.println(map);
//存在しないキーを設定すると削除されず、そのまま
map.remove("oge","オレンジ");
System.out.println(map);
//存在しているキーと値を設定すると削除される
map.remove("orange","オレンジ");
System.out.println(map);
{orange=オレンジ, banana=バナナ, apple=りんご}
{orange=オレンジ, banana=バナナ, apple=りんご}
{banana=バナナ, apple=りんご}
#replace(K key, V value)
指定されたキーがなんらかの値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
//存在しないキーを設定するとMapはそのまま
map.replace("bana", "バナナナナナ");
System.out.println(map);
//存在するキーを設定するとそれに紐づく値が置換される
map.replace("banana", "バナナナナナ");
System.out.println(map);
{orange=オレンジ, banana=バナナ, apple=りんご}
{orange=オレンジ, banana=バナナナナナ, apple=りんご}
#replace(K key, V oldValue, V newValue)
指定されたキーが指定された値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。
Map<String,String> map = new HashMap<String,String>() {
{ put("apple", "りんご");
put("orange", "オレンジ");
put("banana", "バナナ");
}
};
//存在しない古い値を指定すると置換されない
map.replace("bana", "バナ","納豆");
System.out.println(map);
//存在するキーと値を指定すると値が置換される
map.replace("banana", "バナナ","納豆");
System.out.println(map);
{orange=オレンジ, banana=バナナ, apple=りんご}
{orange=オレンジ, banana=納豆, apple=りんご}
#isEmpty()
このマップがキーと値のマッピングを保持しない場合にtrueを返します。
Map<String,String> map = new HashMap<String,String>();
System.out.println(map.isEmpty());
true