【5分でJava入門】MapのcontainsKeyの使い方と速度まとめ

Mapで使用するcontainsKeyメソッドの使い方についてご存知でしょうか?

containsKeyっていったい何?
containsKeyはどうやって使うの?
HashMap.containsKeyとTreeMap.containsKeyの速度の違いは?

今回はそんな悩みを解決するために、containsKeyの使い方を、わかりやすく解説します!

containsKeyとは

containsKeyメソッドは、指定したキーが存在するか確認を行い、キーが存在する場合はtrueを返します。containsKeyの使い方は以下となります。

以下にcontainsKeyを使用した、Mapのキーを検索する処理を記述します。

実行結果

サンプルではMapクラスを宣言し、変数mapに値を追加しています。if文で変数mapに対してcontainsKeyメソッドを使用し、キーを指定しています。指定したキーが存在すると、containsKeyはtrueを返します

速度面

Mapのキーを検索するのに便利なcontainsKeyですが、速度面ではどうなのでしょうか?実際に検証してみましょう。HashMapTreeMapは、どちらがcontainsKeyメソッドを使用しての検索処理が早いか?ナノ秒単位で比較してみました。

実行結果

サンプルでは、HashMapとTreeMapを定義して、それぞれ10万件のデータを追加しています。containsKeyで99999のキーが存在するか?それぞれ検索したところ、HashMapが「0.04469ms」に対して、TreeMapは「0,084892ms」となりました。

結果、HashMapがTreeMapより約2倍早いことがわかりました!

Mapについてもっと詳しく知りたい方へ

Mapのさまざまな使い方については、以下の記事にまとめていますので、ぜひ参考にしてくださいね!

まとめ

ここでは、containsKeyの使い方やcontainsKeyを用いて、HashMapとTreeMapの速度検証を行いました。実際の業務では、Mapに数万〜数十万の要素が格納されていることもあります。

膨大なデータの中から目当てのキーを探すために、ループで回して1つずつキーを検索するのは面倒ですし、システムの負荷も高まってしまいます。

そのため、Mapで指定したキーが登録されているか確認するためには、containsKeyを使用する方法が有効となります。もし、containsKeyの使用方法を忘れてしまったら、この記事を思い出してくださいね。

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説