【Java入門】Mapにfor文やforeachのループを使いキーと値を取得する

こんにちは!エンジニアの中沢です。

JavaでMapからキー(key)と値(value)を取得したいと思ったことはありませんか?Mapからデータを取得するには、for文などのループ処理と、entrySetメソッドを使うのが便利です!今回は、for文の他にもIteratorのループ処理でMapからデータを取得する方法解説します!

この記事では、

  • for文と拡張for文(for-each文)とは
  • Mapのキー(key)をkeySetメソッドで取得する方法
  • Mapの値(value)をvaluesメソッドで取得する方法
  • という基本的な内容から、「Iteratorとは」「Iteratorのループ処理でMapのキーと値を取得する方法」などの応用的な使い方に関しても解説していきます。今回はこれらの方法を覚えるために、Mapにfor文やforeachのループを使いキーと値を取得する方法をわかりやすく解説します!

    for文と拡張for文(for-each文)の使い方

    Javaには他の言語で使われるforeach文はありません!

    しかし、foreach文と同じような処理を行う拡張for文というものがあります!拡張for文は次のように使います。

    拡張for文の使い方を覚えるために次のプログラムでfor文と比較して使い方を確認してみましょう。

    [実行結果]

    ここでは拡張for文とfor文を使ってListのすべての要素を順番に表示しています。このように拡張for文を使うことで、他言語のforeach文のようにすっきりしたコードを書くことができます!

    Mapのキーと値を拡張for文のループで取得する

    Mapのキー(key)をkeySetメソッドで取得する方法

    ここではMapのキーを拡張for文を使って順番に取得する方法を解説します。次のプログラムではMapのキーをkeySetメソッドで取得して、拡張for文で順番に表示しています。

    [実行結果]

    このようにkeySetメソッドと拡張for文を使うことで、Mapのキーを取得することができました!

    Mapの値(value)をvaluesメソッドで取得する方法

    次はMapの値を拡張for文を使って順番に取得する方法を解説します。次のプログラムではMapの値をvaluesメソッドで取得して、拡張for文で順番に表示しています。

    [実行結果]

    このようにvaluesメソッドと拡張for文を使うことで、Mapの値を取得することができました!

    Mapのキーと値の両方をentrySetメソッドで取得する方法

    最後に、Mapのキーと値の両方を拡張for文を使って順番に取得する方法を解説します。次のプログラムではMapのキーと値のペア(エントリー)をentrySetメソッドで取得しています。

    その後に拡張for文の中でgetKeyメソッドgetValueメソッドを使い、キーと値をそれぞれ取得して順番に表示しています。

    [実行結果]

    このようにentrySetメソッドと拡張for文を使うことで、Mapのキーと値を取得することができました!

    Mapのキーと値をIteratorのループで取得する

    Iteratorとは

    IteratorとはListやMapなどで、すべての要素に対して順番に処理をする機能のことです。MapにはListのように要素番号(index)がありませんが、Iteratorを使えばすべての要素を処理することができます!

    Iteratorは次の要素がなくなるまで処理を続けるので、要素数がいくつあるのかを気にすることなく使えます!

    Iteratorのループ処理でMapのキーと値を取得する方法

    最後にIteratorを使ってMapのキーと値を取得する方法を解説します。Iteratorの使い方を覚えるために次のプログラムを見てみましょう。

    [実行結果]

    ここでは、IteratorにMapのすべてのキーと値のペア(エントリー)をmap.entrySet().iterator()で設定して、iterator.hasNext()で次の要素がなくなるまでループ処理をしています。次にiterator.next()で一組のキーと値のペア取得しています。

    最後にキーと値のペアからgetKeyメソッドとgetValueメソッドで、キーと値をそれぞれ取得して表示しています。

    Listのループ処理をする方法

    この記事ではMapのループ処理について学んできましたが、Listのループ処理について学びたい場合は次の記事で詳しく解説しています!

    Mapの使い方総まとめ

    Mapについてさらに詳しく知りたいときはこちらの記事を確認してください!

    拡張for文とJava8のforEachの使い方総まとめ

    拡張for文とJava8のforEachの使い方についてさらに詳しく知りたいときはこちらの記事を確認してください!

    まとめ

    いかがでしたか?今回はループ処理でMapのキーと値を取得する方法を解説しました拡張for文はコードを簡潔に書くことができるのでぜひ覚えてくださいね。もしMapのループ処理を忘れてしまったらこの記事を確認してください!

    LINEで送る
    Pocket

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

    cta_under_bnr

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

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

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

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

    書いた人

    中沢 丈

    中沢 丈

    フリーランスエンジニア。
    システム開発からコンテンツ作成まで幅広く対応します。

    連絡先はこちらです。
    [email protected]

    おすすめコンテンツ

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

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