LoginSignup
0
0

LinkedHashMap 基本メソッド

Posted at

LinkedHashMap
キーと値のペアを要素とした集まり。

※インポートが必要です。
import java.util.LinkedHashMap;

宣言

ジェネリックス(<>)に入れるデータ型がカンマ区切りで2種類あります。
1つ目がキーのデータ型、
2つ目がキーに紐づく値のデータ型を設定します。

宣言
LinkedHashMap<Integer, String> lunchMap = new LinkedHashMap<>();

ペア(キーと値)の追加

put(キー,値)
キーは重複は許可されません。
同じキーを登録しようとすると、後から足した方に上書きされます。

put(キー,値)
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
lunchMap.put("牛丼", 850); /* 牛丼=800 が上書きされます*/
System.out.println(lunchMap);
/* {牛丼=850, カレー=700, ハンバーガー=500} */

キーからペアの値を取得

get(キー名)
存在しないキーを設定した場合はnullが返ってくる。

get(キー名)
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
System.out.println(lunchMap.get("牛丼"));
/*800*/
System.out.println(lunchMap.get("うどん"));
/*null*/

ペアの数を取得

size()

size()
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
System.out.println(lunchMap.size());
/*3*/

ペア(キー)の有無を確認

containsKey(キー名)

containsKey()
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
System.out.println(lunchMap.containsKey("カレー"));
/*true*/
System.out.println(lunchMap.containsKey("うどん"));
/*false*/

ペアの削除

remove(キー名)

remove(キー名)
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);

lunchMap.remove("ハンバーガー");

System.out.println(lunchMap);
/*{牛丼=800, カレー=700}*/

全てのペアの削除

clear()

clear()
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);

lunchMap.clear();

System.out.println(lunchMap);
/*{}*/

空っぽかどうかの確認

isEmpty()

clear()
lunchMap.clear();
System.out.println(lunchMap.isEmpty());
/*{true}*/

forEachでペアを全て出力

forEach

clear()
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
lunchMap.forEach((key, value) -> System.out.println(key + ":" + value));
/*
牛丼:800
カレー:700
ハンバーガー:500
*/

拡張for文でペアを全て出力

keyとvalueを、keySetメソッドとgetメソッドでそれぞれ定義します。
データ型に注意しましょう。

拡張for

拡張for
lunchMap.put("牛丼", 800);
lunchMap.put("カレー", 700);
lunchMap.put("ハンバーガー", 500);
for (String key : lunchMap.keySet()){
    Integer value = lunchMap.get(key);
    System.out.println(key + ":" + value);
}
/*
牛丼:800
カレー:700
ハンバーガー:500
*/
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0