Special OFFER: 1st Enroll Flat 25% OFF OR 2nd Enroll Get 40% OFF | Use Coupon JTOFFER25

- Salesforce Blogs -

How Important is to Know About the Map in Salesforce in 2022?

What exactly is a map in Salesforce?

The Map methods are all instance methods, that is, they operate on a particular instance of a map.

The following are the instance methods for maps:

What is a map?

  • A map is a collection of key-value pairs where each unique key maps to a single value. In map Keys can be any primitive data type like string, integer,decimal, Id while values can be a primitive, sObject, collection type or an Apex object.
  • Map keys and values can be of any data type—primitive types, collections, sObjects, user-defined types, and built-in Apex types.
  • Map keys of type String are case-sensitive. Map methods, including put, get, containsKey, and remove treat these keys as distinct.
  • The map gives value on the basis of key.
  • Key is always unique but a value can be duplicated.


Map<integer, string>exMap= new map<integer, string>();
string name= exMap.get(1);
string name1= exMap.get(2);
string name2= exMap.get(3);
system.debug(name2);// Peter
set<integer>key= exmap.keyset();
system.debug(values);//James, Daniel, Peter

Once you’re familiar with the syntax and the fundamentals of Salesforce, mapping with it becomes simpler. Learn more with our Self-learning module.

Read: Salesforce Architect Certification Study Guide

Learn Salesforce in the Easiest Way

  • Learn from the videos
  • Learn anytime anywhere
  • Pocket-friendly mode of learning
  • Complimentary eBook available

Map Methods

The following are methods for Map. All are instance methods.

  • clear() Removes all of the key-value mappings from the map.
  • clone() Makes a duplicate copy of the map.
  • containsKey(key) This method returns true if the map contains - the  If the key is a string, the key value is case-sensitive.
  • deepClone() DeepClone () method creates a duplicate copy of a map, including sObject records if the map has sObject record values .
  • equals(map2) It compares a map with a specified map and returns true if both maps are equal; otherwise, returns false.
  • get(key) This method returns the value of the specified key which is mapped, or it returns null if the map contains no value for this key.
  • getSObjectType() This method returns the value of the sObject type in format of key and value.
  • isEmpty() If the map has zero key-value pairs it returns true.
  • keySet() Returns a set that contains all of the keys in the map.
  • put(key, value):
  • Associates the specified value with the specified key in the map.
  • putAll(fromMap) Copies all of the mappings from the specified map to the original map.
  • putAll(sobjectArray) Adds the list of sObject records to a map declared as Map<ID, sObject> or Map<String, sObject>.
  • remove(key) This method removes the mapping for the specified key from the map, if present, and returns the corresponding value.
  • size() Returns the number of key-value pairs in the map.
  • values() This method returns a list which contains all the values in the map.The values are returned in an arbitrary order.


Read: What is Salesforce Architecture? Tutorial Guide for Beginners in 2020

list<account>myAccounts = new list<account>();
myAccounts = [Select ID, Name from Account limit 10]; 
map<id,string>myAMap = new map<id,string>();
for ( Account a : myAccounts ){
//Here putting account Id and name to map
myAMap.put(a.ID, a.Name);
for ( ID aID : myAMap.keySet() ){
system.debug(loggingLevel.debug, myAMap.get(aID));

Maps Class and Objects of Apex Salesforce


Map<String, String> map1 = new Map<String, String>();
Map<String, String> map2 = new Map<String, String>();
// Add map1 entries to map2
System.debug(map2.values());//(LightRed, 'DarkRed')


Map<String, String>colorCodes =   new Map<String, String>();
colorCodes.put('Red', 'FF0000');
colorCodes.put('Blue', '0000A0');
colorCodes.put('Green', '0000A0');
System.debug('printing=== '+colorCodes);// Blue=0000A0, Green=0000A0, Red=FF0000
for(String key:colorCodes.keySet().clone()) {
system.debug(colorCodes);// Blue=0000A0, Red=FF0000

Salesforce Training For Administrators & Developers

  • Personalized Free Consultation
  • Access to Our Learning Management System
  • Access to Our Course Curriculum
  • Be a Part of Our Free Demo Class

Values ():

Map<String, String>colorCodes = new Map<String, String>();
colorCodes.put('FF0000', 'Red');
colorCodes.put('0000A0', 'Blue');
List<String> colors = new List<String>();
colors = colorCodes.values();
system.debug(colors);//(Red, Blue)


Map <id,Account>acctMap = new map<id,account>([select  name from  Account limit 10]);
for(string accValue:acctmap.keyset()){

Maps Class and Objects of Apex Salesforce Example How to display record on basis of alphabet

Read: Know Everything About a Salesforce Consultant Roles and Responsibilities!

Apex class
public class DynamicSearchExample {
public Map<string,list<account>>accountsMap {get; set;}
public List<selectoption> keys {get; set;}
public String selectedKey {get; set;}
public Map<string, account>accsByName {get; set;}
public Set<string>getMapKeys(){
accsByName=new Map<string, account>();
        List<string>sortedKeys=new List<string>();
accountsMap=new Map<string, list<account>>();
accountsMap.put('All', new List<account>());
        List<account>accs=[select Name, industry,type,phone from Account order by Name asc];               
for (Account acc : accs){
            String start=acc.Name.substring(0,1);
if (null==accsFromMap){
accsFromMap=new List<account>();
keys=new List<selectoption>();
for (String key : accountsMap.keySet()){
if(key != 'All'){
for (String key : sortedKeys){
keys.add(new SelectOption(key, key));
Visualforce page
<apex:page controller="DynamicSearchExample">
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%3E%0Afunctionredraw_accounts()%7B%0A%0A%20%20%20%20%7D%0A%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />
<apex:actionFunction name="redraw_accounts" rerender="accs" status="status"/>
<apex:pageBlock title="Criteria">
<apex:outputLabel value="Starting Letter"/>
<apex:selectList value="{!selectedKey}" size="1" onchange="redraw_accounts()">
<apex:selectOptions value="{!keys}" />
<apex:pageBlock title="Accounts">
<apex:actionstatus id="status" startText="Loading Data..........." stopText="Loading completed....." >
<apex:facet name="start"/>
<apex:facet name="stop">
<apex:outputPanel id="accs">
<apex:pageBlockTable value="{!accountsMap[selectedKey]}" var="acc">
<apex:column value="{!acc.name}"/>
<apex:column value="{!acc.industry}"/>
<apex:column value="{!acc.type}"/>
<apex:column value="{!acc.phone}"/>

Output Maps Class and Objects of Apex Salesforce


The reason why maps are essential to use in Salesforce is that it makes it easy for writing the bulk apex class or trigger. As a beginner of Salesforce, we are unaware of various techniques using that we can employ script statements. You can learn more on maps in Salesforce by signing up with JanBask Training. Happy mapping to the happy people!

FaceBook Google+ LinkedIn Pinterest

    Janbask Training

    A dynamic, highly professional, and a global online training course provider committed to propelling the next generation of technology learners with a whole new way of training experience.


Trending Courses


  • AWS & Fundamentals of Linux
  • Amazon Simple Storage Service
  • Elastic Compute Cloud
  • Databases Overview & Amazon Route 53

Upcoming Class

3 days 24 Sep 2021


  • Intro to DevOps
  • GIT and Maven
  • Jenkins & Ansible
  • Docker and Cloud Computing

Upcoming Class

3 days 24 Sep 2021

Data Science

  • Data Science Introduction
  • Hadoop and Spark Overview
  • Python & Intro to R Programming
  • Machine Learning

Upcoming Class

4 days 25 Sep 2021


  • Architecture, HDFS & MapReduce
  • Unix Shell & Apache Pig Installation
  • HIVE Installation & User-Defined Functions
  • SQOOP & Hbase Installation

Upcoming Class

10 days 01 Oct 2021


  • Salesforce Configuration Introduction
  • Security & Automation Process
  • Sales & Service Cloud
  • Apex Programming, SOQL & SOSL

Upcoming Class

4 days 25 Sep 2021


  • Introduction and Software Testing
  • Software Test Life Cycle
  • Automation Testing and API Testing
  • Selenium framework development using Testing

Upcoming Class

3 days 24 Sep 2021

Business Analyst

  • BA & Stakeholders Overview
  • BPMN, Requirement Elicitation
  • BA Tools & Design Documents
  • Enterprise Analysis, Agile & Scrum

Upcoming Class

3 days 24 Sep 2021

MS SQL Server

  • Introduction & Database Query
  • Programming, Indexes & System Functions
  • SSIS Package Development Procedures
  • SSRS Report Design

Upcoming Class

4 days 25 Sep 2021


  • Features of Python
  • Python Editors and IDEs
  • Data types and Variables
  • Python File Operation

Upcoming Class

4 days 25 Sep 2021

Artificial Intelligence

  • Components of AI
  • Categories of Machine Learning
  • Recurrent Neural Networks
  • Recurrent Neural Networks

Upcoming Class

4 days 25 Sep 2021

Machine Learning

  • Introduction to Machine Learning & Python
  • Machine Learning: Supervised Learning
  • Machine Learning: Unsupervised Learning

Upcoming Class

17 days 08 Oct 2021


  • Introduction to Tableau Desktop
  • Data Transformation Methods
  • Configuring tableau server
  • Integration with R & Hadoop

Upcoming Class

3 days 24 Sep 2021

Search Posts


Receive Latest Materials and Offers on Salesforce Course