【Java Map型】指定した値orキーがあるか判定 containsValue(),containsKey()

新米太郎
新米太郎

皆さんこんにちは新米です。



この記事を書いたきっかけ(雑談)

Javaの開発でMapの値があるか判定するメソッドがあることを知り、復習がてらブログにまとめることにしたよ!

値を判定するメソッドがあるってことはキーを判定するメソッドもあると思ったのでキー判定も紹介します。

 

そもそもMapってなんぞやって方はこちらから読んでみてね👍

【Java】HashMapの使い方を解説(連想配列)
今回はHashMapの使い方についてサンプルコードを題材にして、紹介したいと思います。 HashMapは配列とよく並んで使われます。HashMapは配列の機能と似ており、キーでデータを扱う事が特徴です。またHashMapは連想配列とも言われます。

containsValue() : Map型のオブジェクトに指定した値があるか判定

構文

Map型オブジェクト.containsValue(判定したい値);

戻り値  

Boolean:完全一致するvalueが1つ以上あればTrue、無ければFalse

 

[サンプルコード]

import java.util.*;

public class Main {
    public static void main(String[] args) {
       
        HashMap<Integer, String> mp = new HashMap<Integer, String>();//..①
        
        //..②
        mp.put(1, "飛行機");
        mp.put(2, "自動車");
        mp.put(3, "潜水艦");
         
        //..③
        boolean fig1 = mp.containsValue("飛行機");
        boolean fig2 = mp.containsValue("ヘリコプター");
        
        //..④
        System.out.println(fig1);
        System.out.println(fig2);
    }
}

 

実行結果

true
false

解説

新米太郎
新米太郎

処理の流れ役割を確認してみましょう。

①Mapオブジェクトを生成。今回、keyはInteger型・valueはString型です。

②Map型のmpにkeyとvalueをセットで代入しています。

③containsValue()で指定した値がmpにある場合はtrue、ない場合はfalseが変数に代入されます。

④最後に③の結果をそれぞれ出力しています。

containsKey() : Map型のオブジェクトに指定したキーがあるか判定

キーの判定も、値の判定をキーに変えただけです。

構文

Map型オブジェクト.containsKeys(判定したいキー);

 

サンプルコード

import java.util.*;

public class Main {
    public static void main(String[] args) {
       
        HashMap<Integer, String> mp = new HashMap<Integer, String>();
        
        mp.put(1, "飛行機");
        mp.put(2, "自動車");
        mp.put(3, "潜水艦");
      
        boolean fig1 = mp.containsKey(1);
        boolean fig2 = mp.containsKey(4);
        
        System.out.println(fig1);
        System.out.println(fig2);
    }
}

実行結果

true
false

まとめ

いかがだったでしょうか。

今回はcontainsValue()・containsKey()を用いて指定した値・キーがMapにあるか判定する方法でした。

新米太郎
新米太郎

最後まで読んでくれてありがとう‼️



コメント

タイトルとURLをコピーしました