Now, we'll use the mapping to retrieve a value based on the key. But first, let's visualize our data with a table:
Currency Code | Exchange Rate |
---|---|
USD | 1 |
CAD | 1.39 |
MXN | 18.49 |
EUR | 0.94 |
GBP | 0.83 |
And then convert this table to a map:
Map<String, Decimal> currencyCodeToExchangeRate = new Map<String, Decimal> { 'USD' => 1, 'CAD' => 1.39, 'MXN' => 18.49, 'EUR' => 0.94, 'GBP' => 0.83 };
Now, if I asked you to give me the exchange rate for EUR
, what would you do? You'd probably look under the Currency Code column, find EUR
, and look across to see the Exchange Rate. We do that programmatically with our map using the get(key)
instance method:
Map<String, Decimal> currencyCodeToExchangeRate = new Map<String, Decimal> { 'USD' => 1, 'CAD' => 1.39, 'MXN' => 18.49, 'EUR' => 0.94, 'GBP' => 0.83 }; Decimal eurExchangeRate = currencyCodeToExchangeRate.get('EUR'); // returns 0.94 Decimal mxnExchangeRate = currencyCodeToExchangeRate.get('MXN'); // returns 18.49 Decimal audExchangeRate = currencyCodeToExchangeRate.get('AUD'); // returns NULL, AUD is not in the map
How cool is that? By building out this mapping, we can use Apex to correlate keys with values and easily retrieve them.