Hash mapとは
- 3. ・Map = KeyとValueを紐づけてデータを格納するデータ構造のこと
- Keyの重複は許されない。(同じキーをput/格納すると、値は上書きされる)
- キーから値を参照するデータ構造を持ったデータの利⽤に役⽴つ(電話帳・辞書 etc)
3
1. Mapとは(イントロダクション)
配列やArrayListでは、インデックス(数値)で要素を特定するが、
HashMap(Map)ではオブジェクト(キー)を使って要素を特定する。
- 4. 【問題:要素が5つ(2,3,6,9,15)格納されている配列から、要素が9の数字を⾒つける】
int[ ] data={2,3,6,9,15}; //先頭から順に調べるアルゴリズム(線形探索)を組んだ場合
// 格納されている要素を先頭から順に調べる
for(int i=0; i < data.length; i++) {
if(data[i] == 9) {
System.out.println(“要素の” + i +”番⽬が9です”);
}
}
・配列やリストの場合、要素を特定する際に【1つづつ全要素探索する(線形探索)】のアルゴ
リズムを使う場合が多いと思います。1個ずつ調べるとなると、実⾏に時間がかかる…
→ もっと⾼速に!要素を特定する為の⼿段として「HashMap」という実装⼿段がある!
4
2. 配列・リストを使うと…?
【実行結果】
2 3 6 9
1
5
- 12. 12
6. まとめ
1
2
3
HashMap = ハッシュ法(アルゴリズム)に基づいて実装されている。
※アルゴリズムにおける「ハッシュ探索」という考え⽅を元にしている。
ハッシュ法に基づく実装で、⾼速なデータアクセスを実現。
(説明不⾜な部分もあるので、各⾃調べてみてください。)
【所感】勉強不⾜。これまで、ただ何となく、動けばいいやのコーディング
→ トラッシュに⼊社してもう8ヶ⽉。もっと勉強、OUTPUTも⼼がけたい。