JavaのLinkedHashMapクラスの使い方を現役エンジニアが解説【初心者向け】
初心者向けにJavaのLinkedHashMapクラスの使い方について解説しています。LinkedHashMapクラスの特徴やHashMapとの違い、基本の書き方と処理の流れを実際に書いて確認してみましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
JavaのLinkedHashMapクラスの使い方について解説します。実際にプログラムを書いて説明しているので、ぜひ理解しておきましょう。
そもそもJavaについてよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプJava講座の内容をもとに作成しています。
今回は、Javaに関する内容だね!
どういう内容でしょうか?
LinkedHashMapクラスの使い方について詳しく説明していくね!
お願いします!
LinkedHashMapクラスとは
LinkedHashMapクラスには以下の特徴があります。
- キーとバリューのペアで要素を保持する
- キーの重複を許可しない。 ※キーが別であればバリューの重複は構わない
- nullをキーやバリューとすることができる
- 要素が格納された順番を保持している
LinkedHashMapクラスはHashMapクラスと同じように、情報をキーとバリューのペアで格納して使います。尚、LinkedHashMapクラスはHashMapクラスを継承している為HashMapクラスが持つ機能を持っています。
違いは、HashMapクラスが要素を順番を保障しないのに対し、LinkedHashMapクラスは格納された順番を保持している点です。
LinkedHashMapクラスの使い方
要素の追加には以下のメソッドを使います。
public V put(K key,V value)
これはjava.util.HashMapクラスで実装されているメソッドです。サブクラスであるLinkedHashMapクラスも同じメソッドで要素追加を行います。
要素の取得には以下のメソッドを使います。
public V get(Object key)
引数で指定したオブジェクトをキーに持つバリューを返却します。キーがLinkedHashMap内に存在しなければ、nullを返却します。
実際に書いてみよう
LinkedHashMapオブジェクトに対し要素の追加を行い、追加した要素を取得します。又、nullが要素として格納できることの確認と、格納済のキーは格納できないことを確認します。
import java.util.LinkedHashMap; public class Sample { public static void main(String[] args) { LinkedHashMap<Integer, String> lHMap = new LinkedHashMap<>(); //要素の追加 lHMap.put(1, "東京"); lHMap.put(2, "大阪"); lHMap.put(3, "名古屋"); lHMap.put(4, "福岡"); lHMap.put(5, "仙台"); //要素を表示 System.out.println(lHMap); //要素の取得と表示 System.out.println("キー" + 2 + "に紐づくバリューは" + lHMap.get(2) + "です。"); //要素の取得と表示 ※存在しないキーを表示 System.out.println("キー" + 6 + "に紐づくバリューは" + lHMap.get(6) + "です。"); //nullを追加 lHMap.put(null,null); //要素を表示 System.out.println(lHMap); //既に存在するキーを追加 System.out.println(lHMap.put(2,"金沢")); //要素を表示 System.out.println(lHMap); } }
実行結果は
{1=東京, 2=大阪, 3=名古屋, 4=福岡, 5=仙台} キー2に紐づくバリューは大阪です。 キー6に紐づくバリューはnullです。 {1=東京, 2=大阪, 3=名古屋, 4=福岡, 5=仙台, null=null} 大阪 {1=東京, 2=金沢, 3=名古屋, 4=福岡, 5=仙台, null=null}
となります。
下記コードで5つの要素を追加した後
lHMap.put(1, "東京"); lHMap.put(2, "大阪"); lHMap.put(3, "名古屋"); lHMap.put(4, "福岡"); lHMap.put(5, "仙台"); lHMap.get(2)
でキー2に紐づくバリューを取得します。
“大阪”が取得できることを確認します。
lHMap.get(6)
では存在しないキー6を指定していますが、取得結果はnullとなります。既に存在するキー2を指定してバリュー”金沢”を追加します。
lHMap.put(2,"金沢")
“金沢”の追加は行われません。又、lHMap.put(2,”金沢”)の戻り値として、既にキー2と共に追加されているバリューである”大阪”が返却されています。
監修してくれたメンター
長屋雅美
独立系SIerで7年勤務後、現在はフリーのエンジニアとして自宅をオフィスとして活動しています。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもJavaやServletの技術を使ってWebアプリケーション開発を習得できるオンラインブートキャンプJava講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。