この投稿では、Javaのマップに値が存在するかどうかを確認する方法について説明します。価値 value 値へのマッピングが少なくとも1つ含まれている場合、マップに存在します v そのために Objects.equals(value, v) 保持します。

1.使用する containsValue() 方法

マップに値が存在するかどうかを確認するための標準的なソリューションは、 containsValue() メソッド。マップが1つ以上のキーを指定された値にマップする場合にtrueを返します。

ダウンロード  コードを実行する

 
値がカスタムオブジェクトの場合は、次のことを忘れないでください。 equalsメソッドとhashCodeメソッドをオーバーライドします そのクラスの。

2.使用する anyMatch() 方法

マップに含まれる値のコレクションを取得し、そのコレクションで指定された値を検索するという考え方です。これは、StreamAPIを使用して1行で実行できます。

ダウンロード  コードを実行する

3.forループの使用

Java 8より前では、カスタムルーチンを記述して、値がマップに存在するかどうかを判断できます。実例は次のとおりです。

ダウンロード  コードを実行する

これで、Javaのマップに値が存在するかどうかを確認できます。