【Sink it】10.Mapを使ってみよう(解答)

スポンサーリンク
ApexのMap Apex

こんにちは、にいるです。

Savepoオリジナルの開発初心者向けプログラム「Sink it」です。
今回で第10回目、題材は最後のコレクション「Map」です。

この記事は「10.Mapを使ってみよう」の解説と解答です。

【ヘルプ】対応付け
【ヘルプ】Map クラス

1.Mapとは

Mapとはコレクションの1つです。
ListともSetとも違う性質を持っています。

Listは順序付けされていましたが、Setには順序付けはありませんでした。
そして、Mapにも順序付けはありません。

ただ、キーと値を対応付けることができます。
そのキーによって欲しいデータ(値)を取得することができます。

SObject型のList

こちらが取引先のListです。

# 0 1 2 3 4
要素 取引先1 取引先2 取引先3 取引先4 取引先5
SObject型のSet

こちらが取引先のSetです。

要素 取引先1 取引先2 取引先3 取引先4 取引先5
SObject型のMap

こちらが取引先のMapです。

キー 0 1 2 3 4
取引先1 取引先2 取引先3 取引先4 取引先5

並べてみると違いがわかりますね。
少しでもイメージを掴んでもらえればと思います。

2.解答・解説

解答

解答です。

■デバッグ
 
ApexのMap
 

解説

今回、いきなりMapのコレクションから始める方には難しいかと思います。
センスある方であれば、掴めるかもしれません。

例えば、自宅の鍵を使って自宅を含む5件の家の鍵を開けようとします。
自分の家の扉は開きますが、他人の家の扉は開きません。
それは当然ですよね。もし開いたらおかしい話です。

ApexのMapもそれと同じでキー(鍵)と値(家)を対応付けることで、1:1の関係を保っています。

出題の色で考えると、Mapのput()メソッドでそれぞれキーと値を指定して代入していきます。
このキーも値もデータ型はStringなので’で囲む必要があります。

そして取り出すときにget()メソッドでキーを指定して、値を取り出しています。

3.まとめ

いかがでしたでしょうか。

僕自身、Mapが苦手でした。
putやgetやらListの代入した結果がどのような形でMapのなかで保持されているかをイメージできずに苦しんだことがありました。

コレクションのデータ構造を掴むコツは図に書き出すことが大事だと思います。

わからなくなった時は図を書いてみてください。

皆さんもぜひ色々と試してみてください。
他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。

ではでは!

Salesforce 機能別 まとめページ

コメント

タイトルとURLをコピーしました