More Related Content
PDF
いまさら聞けないarmを使ったNEONの基礎と活用事例 PDF
PDF
PPTX
PDF
PDF
MariaDBとMroongaで作る全言語対応超高速全文検索システム PPTX
Apache Avro vs Protocol Buffers PDF
中3女子が狂える本当に気持ちのいい constexpr What's hot
PDF
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp PDF
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜 PDF
PDF
PDF
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~ PDF
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜 PDF
PlaySQLAlchemy: SQLAlchemy入門 PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
最近のDeep Learning (NLP) 界隈におけるAttention事情 PPT
PDF
Boost.勉強会 #21 札幌「C++1zにstring_viewが導入されてうれしいので紹介します」 PDF
PDF
Similar to HashMapとは?
PDF
PPT
PDF
[アルゴリズムイントロダクション勉強会] ハッシュ PDF
PDF
PPTX
PDF
PDF
20110517 okuyama ソーシャルメディアが育てた技術勉強会 PPTX
HashMapとは?
- 1.
- 2.
- 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
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
12
6. まとめ
1
2
3
HashMap =ハッシュ法(アルゴリズム)に基づいて実装されている。
※アルゴリズムにおける「ハッシュ探索」という考え方を元にしている。
ハッシュ法に基づく実装で、高速なデータアクセスを実現。
(説明不足な部分もあるので、各自調べてみてください。)
【所感】勉強不足。これまで、ただ何となく、動けばいいやのコーディン
グ
- 13.