こんにちは、にいるです。
Savepoオリジナルの開発初心者向けプログラム「Sink it」です。
今回で第10回目、題材は最後のコレクション「Map」です。
この記事は「10.Mapを使ってみよう」の解説と解答です。
1.Mapとは
Mapとはコレクションの1つです。
ListともSetとも違う性質を持っています。
Listは順序付けされていましたが、Setには順序付けはありませんでした。
そして、Mapにも順序付けはありません。
ただ、キーと値を対応付けることができます。
そのキーによって欲しいデータ(値)を取得することができます。
こちらが取引先のListです。
# | 0 | 1 | 2 | 3 | 4 |
要素 | 取引先1 | 取引先2 | 取引先3 | 取引先4 | 取引先5 |
こちらが取引先のSetです。
要素 | 取引先1 | 取引先2 | 取引先3 | 取引先4 | 取引先5 |
こちらが取引先のMapです。
キー | 0 | 1 | 2 | 3 | 4 |
値 | 取引先1 | 取引先2 | 取引先3 | 取引先4 | 取引先5 |
並べてみると違いがわかりますね。
少しでもイメージを掴んでもらえればと思います。
2.解答・解説
解答です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// Mapの変数宣言 Map<String,String> colorMap = new Map<String,String>(); // Mapにキーと値を代入する colorMap.put('Black','黒'); colorMap.put('White','白'); colorMap.put('Blue','青'); colorMap.put('Red','赤'); colorMap.put('Yellow','黄'); // Mapの中身全部を確認 System.debug(colorMap); // 黒だけを取り出す System.debug(colorMap.get('Black')); |
■デバッグ
今回、いきなりMapのコレクションから始める方には難しいかと思います。
センスある方であれば、掴めるかもしれません。
自分の家の扉は開きますが、他人の家の扉は開きません。
それは当然ですよね。もし開いたらおかしい話です。
ApexのMapもそれと同じでキー(鍵)と値(家)を対応付けることで、1:1の関係を保っています。
出題の色で考えると、Mapのput()メソッドでそれぞれキーと値を指定して代入していきます。
このキーも値もデータ型はStringなので’で囲む必要があります。
そして取り出すときにget()メソッドでキーを指定して、値を取り出しています。
3.まとめ
いかがでしたでしょうか。
僕自身、Mapが苦手でした。
putやgetやらListの代入した結果がどのような形でMapのなかで保持されているかをイメージできずに苦しんだことがありました。
コレクションのデータ構造を掴むコツは図に書き出すことが大事だと思います。
わからなくなった時は図を書いてみてください。
皆さんもぜひ色々と試してみてください。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。
ではでは!