Mapのメソッド

Mapのメソッドについても、復習も兼ねてまとめていこうと思います。
適宜更新予定です。

#put(K key, V value)
指定された値と指定されたキーをこのマップで関連付けます。

```java
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", "バナナ");
```
```java
{orange=オレンジ, banana=バナナ, apple=りんご}
```

#get(Object key)
指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合はnullを返します。

```java
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"));
```
```java
りんご
null
```

#size()
このマップ内のキー値マッピングの数を返します。

```java
Map<String,String> map = new HashMap<String,String>() {

			{	put("apple", "りんご");
				put("orange", "オレンジ");
				put("banana", "バナナ");
			}
};
System.out.println(map.size());
```
```java
3
```

#containsKey(Object key)
指定のキーのマッピングがこのマップに含まれている場合にtrueを返します。

```java
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"));
```
```java
true
true
false
```

#containsValue(Object value)
マップが1つまたは複数のキーを指定された値にマッピングしている場合にtrueを返します。

```java
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("レンジ"));
```
```java
true
true
false
```

#clear()
マップからマッピングをすべて削除します。

```java
Map<String,String> map = new HashMap<String,String>() {

			{	put("apple", "りんご");
				put("orange", "オレンジ");
				put("banana", "バナナ");
			}
};
map.clear()
System.out.println(map);
```
```java
{}
```

#entrySet()
このマップに含まれるマッピングのSetビューを返します。

```java
Map<String,String> map = new HashMap<String,String>() {

			{	put("apple", "りんご");
				put("orange", "オレンジ");
				put("banana", "バナナ");
			}
};
System.out.println(map.entrySet());
```
```java
[orange=オレンジ, banana=バナナ, apple=りんご]
```

#keySet()
このマップに含まれるキーのSetビューを返します。

```java
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);
}
```
```java
[orange, banana, apple]

orange
banana
apple
```

#values()
このマップに含まれる値のCollectionビューを返します。

```java
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);
}
```
```java
[オレンジ, バナナ, りんご]

オレンジ
バナナ
りんご
```

#remove(Object key)
このマップからキーのマッピング(ある場合)を削除します。

```java
Map<String,String> map = new HashMap<String,String>() {

			{	put("apple", "りんご");
				put("orange", "オレンジ");
				put("banana", "バナナ");
			}
};
map.remove("orange");
System.out.println(map);
```
```java
//orangeが削除されている
{banana=バナナ, apple=りんご}
```

#remove(Object key, Object value)
指定された値に指定されたキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。

```java
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);
```
```java
{orange=オレンジ, banana=バナナ, apple=りんご}
{orange=オレンジ, banana=バナナ, apple=りんご}
{banana=バナナ, apple=りんご}
```

#replace(K key, V value)
指定されたキーがなんらかの値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。

```java
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);
```
```java
{orange=オレンジ, banana=バナナ, apple=りんご}
{orange=オレンジ, banana=バナナナナナ, apple=りんご}
```

#replace(K key, V oldValue, V newValue)
指定されたキーが指定された値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。

```java
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);
```
```java
{orange=オレンジ, banana=バナナ, apple=りんご}
{orange=オレンジ, banana=納豆, apple=りんご}
```

#isEmpty()
このマップがキーと値のマッピングを保持しない場合にtrueを返します。

```java
Map<String,String> map = new HashMap<String,String>();

System.out.println(map.isEmpty());
```
```java
true
```