AMG Solution

【解説】Java初心者向けMapの使い方! HashMapで電話帳を作る

Java練習問題
feels

こんにちは、飯塚です。
 
今回は下記の練習問題の解説です。まだ問題を見ていないという方は、ぜひ一度見て解いてみてください。Mapを理解するのに役立つと思います。
 
【練習問題】Java初心者向けMapの使い方! HashMapで電話帳を作る
 
目次

  1. 回答例サンプルコード
  2. Mapとは何か
  3. Mapを使ったプログラムの書き方
  4. HashMapを使った応用問題
  5. まとめ

回答例サンプルコード

回答例はこんな感じです。思ったよりシンプルでしょうか。

Mapとは何か

Mapとは「キー(他と区別するための呼び名)」と「値」のセットで、データを管理する形の1つです。
 
今回の電話帳の問題では、
名前(例:田中)が「キー」
電話番号(例:080-1234-5678)が「値」
でした。
 
Mapを使うことで何が良いかというと、「値」が難しかったり複雑なものだとしても、「キー」さえ分かればデータを区別できることです。
 
今回のプログラムを使うと、電話番号を覚えていなくても名前だけが分かれば、知りたい電話番号を1つに絞って出力することができますよね。
 
注意点としては、「キー」は被ってはいけないということです。電話帳に同じ名前が2件登録されていると、どちらが電話番号を知りたい相手か分からないですよね。
 
もし「田中」が2人いたとしたら、「田中 一郎」「田中 次郎」のように、「キー」が被らないように登録する必要があります。

HashMapを使ったプログラムの書き方

回答例のソースを例に、プログラムの書き方を解説します。
 
インスタンスの作成方法は下記です。ArrayListの書き方と似ていますね。

インスタンス作成時にキーと値の型を指定します。今回でいうとHashMap<名前、電話番号>なので、どちらもStringです。

putメソッドを使うことで、キーと値のセットをインスタンスに詰めることができます。

詰めた値を取り出すのに使うのが、getメソッドです。

HashMapを使った応用問題

実力試しの応用問題です。名前や電話番号、住所はどんな値でもOKです。ご自由に作ってみてください。

決まった名前が入力されたときに、その名前に紐づく電話番号と住所を返すプログラムを作成してください。

まとめ

いかがでしょうか。
 
始めてMapを知ったときは、こんな便利なものがあったんだなと感動した覚えがあります。HashMapの他にもTreeMapやLinkedHashMapがあるので、ぜひ勉強してみてください。
 
 
 
 
《関連記事》

feels recruit

IIZUKA'S BLOG

飯塚の記事

飯塚の記事の最新情報をお届けいたします。

SAME CATEGORY BLOG

この記事と同様のカテゴリー記事

feelsでSFA・CRM
はじめました。
LOADING