LoginSignup
2
0

More than 3 years have passed since last update.

Mapのメソッド

Last updated at Posted at 2020-05-23

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
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0