【Java】Mapの使い方 (put、get、size、isEmpty、clearなど)

この記事で分かること
👉JavaのMapの使い方について知ることができます。
👉次のMapメソッドの使い方を知ることができます。

  1. put(キー値, 値):マップにキー値と値のペアを格納する
  2. get(キー値):キー値に対応する値を取得
  3. size():格納されているペアの数を数える
  4. isEmpty():要素数がゼロであるかを判定
  5. containsKey(キー値):指定データがキーに含まれているかを判定
  6. containsValue(値):指定データが値に含まれているかを判定
  7. clear():要素を全て削除する
  8. remove(キー値):指定されているキー値の内容を削除する
  9. keySet():指定されているキーの一覧を返す

 

Mapの宣言方法について(HashMap、TreeMap、LinkedHashMap)

Mapを利用する場合の書式は「Map<キーの型名, 値の型名> オブジェクト名 = new HashMap<>();」となります。

①HashMap
Map<キーの型名, 値の型名> オブジェクト名 = new HashMap<>();
②TreeMap
Map<キーの型名, 値の型名> オブジェクト名 = new TreeMap<>();
③LinkedHashMap
Map<キーの型名, 値の型名> オブジェクト名 = new LinkedHashMap<>();

それぞれのMapの特徴
①HashMapはその名前の通り、キーからハッシュ値を算出して管理するため、順序は不定となる。
②TreeMapはキーの自然順序付けによってソートされる。
③LinkedHashMapは、HashMapとLinkedListの両方で管理するため、挿入された順番を保持する。

※基本的にはMapといえばHashMapを使用します

なお、Mapを含め、コレクションクラスはインスタンスでないものは格納できません。

つまり、intやbooleanなどの基本型の使用はできません(※文法エラーになります)それに対応して、「8つの基本データ型の情報を中身に保持すること」を責務とするラッパークラスが用意されています。

そのため、次のようにキーの型名, 値の型名は置き換えて使用する必要があります。

基本データ型   ラッパクラス
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

Mapの初期化サンプル

//Mapを使用する場合import
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;

マップの初期化セット
Map<String, Object> HMAP = new HashMap<>();
Map<Byte, Boolean> TMAP = new TreeMap<>();
Map<Character, Short> LMAP = new HashMap<>();

 

 

Mapのメソッドの主要なメソッドについて 

Mapのメソッドでどのようなことができるのか主要なものをまとめました。

番号
メソッド 意味
put(キー値, 値) マップにキー値と値のペアを格納する
get(キー値) キー値に対応する値を取得
size() 格納されているペアの数を数える
isEmpty() 要素数がゼロであるかを判定
containsKey(キー値) 指定データがキーに含まれているかを判定
containsValue(値) 指定データが値に含まれているかを判定
clear() 要素を全て削除する
remove(キー値) 指定されているキー値の内容を削除する
keySet() 指定されているキーの一覧を返す

Mapのメソッド:①put(キー値, 値) マップにキー値と値のペアを格納する

putメソッドを使用すると、マップにキー値と値のペアを格納することができます。

次のサンプルプログラムでは、マップにキー値と値のペアを格納されていることが確認できます。

import java.util.HashMap;
import java.util.Map;

public class MapputTest {

    public static void main(String[] args) {
        Map<String, Object> HMAP = new HashMap<>();
        //put(キー値, 値) マップにキー値と値のペアを格納
        HMAP.put("マップテスト1", "テスト1");
        HMAP.put("マップテスト2", "テスト2");
        HMAP.put("マップテスト3", "テスト3");

        System.out.println(HMAP);

    }

}

実行結果

{マップテスト1=テスト1, マップテスト2=テスト2, マップテスト3=テスト3}

Mapのメソッド:②get(キー値)  キー値に対応する値を取得

getメソッドを使用すると、キー値に対応する値を取得ことができます。

次のサンプルプログラムでは、キー値に対応する値を取得できていることが確認できます。

import java.util.HashMap;
import java.util.Map;

public class MapgetTest {

    public static void main(String[] args) {
        Map<String, Object> HMAP = new HashMap<>();
        Map<Integer, String> HMAP2 = new HashMap<>();
        //キー値にマップテスト1 、値にテスト1を格納
        HMAP.put("マップテスト1", "テスト1");
        //キー値に1 、値にテスト2を格納
        HMAP2.put(1, "テスト2");

        //マップテスト1に対応する値、"テスト1"を取得する。
        Object HMAPGET = HMAP.get("マップテスト1");
        System.out.println(HMAPGET);

        //1に対応する値、"テスト2"を取得する。
        String HMAP2GET = HMAP2.get(1);
        System.out.println(HMAP2GET);

    }

}

実行結果

テスト1
テスト2

Mapのメソッド:③size() 格納されているペアの数を数える

size()を使用すると、格納されているペアの数を数えることができます。

次のサンプルプログラムでは、データが格納されていない段階で0、putでデータを追加した後は2とデータを数えていることが分かります。

import java.util.HashMap;
import java.util.Map;

public class MapsizeTest {

    public static void main(String[] args) {
        Map<String, Object> HMAP = new HashMap<>();
        int 要素数 = HMAP.size();
        // 格納されているペアがないため0を出力する。
        System.out.println(要素数);
        
        HMAP.put("マップテスト1", "テスト1");
        HMAP.put("マップテスト2", "テスト2");
        要素数 = HMAP.size();
        // 2ペア格納されたため2を出力する。
        System.out.println(要素数);
    }

}

実行結果

0
2

Mapのメソッド:④isEmpty() 要素数がゼロであるかを判定

isEmpty()を使用すると、要素数がゼロであるかを判定することができます。

次のサンプルプログラムでは、要素数がゼロであれば、true、要素数がゼロでない場合、falseであることが分かります。

import java.util.HashMap;
import java.util.Map;

public class MapisEmptyTest {

    public static void main(String[] args) {
        Map<String, Object> HMAP = new HashMap<>();
        boolean ISEmpty = HMAP.isEmpty();
        //ペア数がゼロであるため、trueを出力
        System.out.println(ISEmpty);
        HMAP.put("マップテスト1", "テスト1");
        HMAP.put("マップテスト2", "テスト2");
        ISEmpty = HMAP.isEmpty();
        //ペア数が2(ゼロでない)であるため、falseを出力
        System.out.println(ISEmpty);
    }

}

実行結果

true
false

Mapのメソッド:⑤containsKey(キー値) 指定データがキーに含まれているかを判定

containsKey(キー値)を使用すると、指定データがキーに含まれているかを判定することができます。

次のサンプルプログラムでは、指定データがキーに含まれていれば、true、指定データがキーに含まれていない場合、falseであることが分かります。

import java.util.HashMap;
import java.util.Map;

public class MapcontainsKeyTest {

    public static void main(String[] args) {
        Map<String, Object> HMAP = new HashMap<>();
        HMAP.put("マップテスト1", "テスト1");
        HMAP.put("マップテスト2", "テスト2");
        boolean キー値含 = HMAP.containsKey("マップテスト1");
        //マップテスト1はキー値に含まれているためtrueを出力
        System.out.println(キー値含);

        キー値含 = HMAP.containsKey("マップテスト3");
        //マップテスト3はキー値に含まれていないためfalseを出力
        System.out.println(キー値含);
    }

}

実行結果

true
false

Mapのメソッド:⑥containsValue(値) 指定データが値に含まれているかを判定

containsValue(値)を使用すると、指定データが値に含まれているかを判定することができます。

次のサンプルプログラムでは、指定データが値に含まれていれば、true、指定データが値に含まれていない場合、falseであることが分かります。

import java.util.HashMap;
import java.util.Map;

    public class MapcontainsValue {

        public static void main(String[] args) {
        Map<String, Object> HMAP = new HashMap<>();
        HMAP.put("マップテスト1", "テスト1");
        HMAP.put("マップテスト2", "テスト2");
        boolean 値含む = HMAP.containsValue("テスト1");
        //テスト1はキー値に含まれているためtrueを出力
        System.out.println(値含む);

        値含む = HMAP.containsValue("テスト3");
        //テスト3は値に含まれていないためfalseを出力
        System.out.println(値含む);
    }

}

実行結果

true
false

Mapのメソッド:⑦clear()要素を全て削除する

clear()を使用すると、要素を全て削除することができます。

次のサンプルプログラムでは、putメソッドでデータを追加しましたがclearメソッドで、要素を全て削除されることが確認できます。

import java.util.HashMap;
import java.util.Map;

public class MapclearTest {

    public static void main(String[] args) {
        Map<String, Object> HMAP = new HashMap<>();
        HMAP.put("マップテスト1", "テスト1");
        HMAP.put("マップテスト2", "テスト2");
        //要素が追加されていることを確認
        System.out.println(HMAP);
        HMAP.clear();
        //要素が削除されていることを確認
        System.out.println(HMAP);
    }

}

実行結果

{マップテスト1=テスト1, マップテスト2=テスト2}
{}

Mapのメソッド:⑧remove(キー値) 指定されているキー値のペアを削除する

remove(値)を使用すると、指定したキー値の内容を削除することができます。

次のサンプルプログラムではremoveメソッドで、指定したキー値の内容「マップテスト1=テスト1」が削除されることが確認できます。

import java.util.HashMap;
import java.util.Map;

public class MapremoveTest {

    public static void main(String[] args) {
        Map<String, Object> HMAP = new HashMap<>();
        HMAP.put("マップテスト1", "テスト1");
        HMAP.put("マップテスト2", "テスト2");
        //要素が追加されていることを確認
        System.out.println(HMAP);
        HMAP.remove("マップテスト1");
        // 指定した要素「マップテスト1=テスト1」が削除される
        System.out.println(HMAP);
    }

}

実行結果

{マップテスト1=テスト1, マップテスト2=テスト2}
{マップテスト2=テスト2}

Mapのメソッド:⑨keySet() 指定されているキーの一覧を返す

keySet()を使用すると、指定されているキーの一覧を返すことができます。

次のサンプルプログラムでは指定されているキーの一覧を返すことが確認できます。

import java.util.HashMap;
import java.util.Map;

public class MapKeySetTest {

    public static void main(String[] args) {
        Map<String, Object> HMAP = new HashMap<>();
        Map<String, Object> HMAP2 = new HashMap<>();
        HMAP.put("マップテスト1", "テスト1");
        HMAP.put("マップテスト2", "テスト2");
        //要素が追加されていることを確認
        System.out.println(HMAP);
        //キー値をすべて出力していることを確認
        System.out.println(HMAP.keySet());

    }

}

実行結果

{マップテスト1=テスト1, マップテスト2=テスト2}
[マップテスト1, マップテスト2]

管理人
Javaの記事の一覧はJava にまとめてあります

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP