Our Support: During the COVID-19 outbreak, we request learners to CALL US for Special Discounts!

- Salesforce Blogs -

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

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.

Syntax


Map<integer, string>exMap= new map<integer, string>();
exMap.put(1,'James');
exMap.put(2,'Daniel');
exMap.put(3,'Peter');
string name= exMap.get(1);
string name1= exMap.get(2);
string name2= exMap.get(3);
system.debug(name);//James
system.debug(name1);//Daniel
system.debug(name2);// Peter
set<integer>key= exmap.keyset();
list<string>values=exmap.values();
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: What is CRM? Salesforce CRM Tutorial Guide For Beginners

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.

salesforce quiz

Read: What is Apex String Class in the Salesforce?

get(key):


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

putAll(fromMap):


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


remove(key):


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()) {
colorCodes.remove('Green');
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)

getSObjectType()


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

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

Read: Who Wins The Battle Between Pipedrive And Salesforce?

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(){
returnaccountsMap.keySet();
    }
publicDynamicSearchExample(){
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){
accountsMap.get('All').add(acc);
            String start=acc.Name.substring(0,1);
            List<account>accsFromMap=accountsMap.get(start);
if (null==accsFromMap){
accsFromMap=new List<account>();
accountsMap.put(start,accsFromMap);
            }
accsFromMap.add(acc);
accsByName.put(acc.name,acc);
        }
keys=new List<selectoption>();
for (String key : accountsMap.keySet()){
if(key != 'All'){
sortedKeys.add(key);
            }
        }
sortedKeys.sort();
sortedKeys.add('All');
for (String key : sortedKeys){
keys.add(new SelectOption(key, key));
        }
selectedKey='All';
    }
}
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:form>
<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:selectList>
</apex:pageBlock>
<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}"/>
</apex:pageBlockTable>
</apex:outputPanel>
</apex:facet>
</apex:actionstatus>
</apex:pageBlock>
</apex:form>
</apex:page>

Output Maps Class and Objects of Apex Salesforce

Summary

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!




    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.


Comments

Trending Courses

AWS

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

Upcoming Class

7 days 14 Jul 2020

DevOps

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

Upcoming Class

3 days 10 Jul 2020

Data Science

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

Upcoming Class

9 days 16 Jul 2020

Hadoop

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

Upcoming Class

10 days 17 Jul 2020

Salesforce

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

Upcoming Class

8 days 15 Jul 2020

QA

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

Upcoming Class

3 days 10 Jul 2020

Business Analyst

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

Upcoming Class

7 days 14 Jul 2020

MS SQL Server

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

Upcoming Class

8 days 15 Jul 2020

Python

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

Upcoming Class

16 days 23 Jul 2020

Artificial Intelligence

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

Upcoming Class

7 days 14 Jul 2020

Machine Learning

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

Upcoming Class

10 days 17 Jul 2020

Tableau

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

Upcoming Class

6 days 13 Jul 2020

Search Posts

Reset

Receive Latest Materials and Offers on Salesforce Course

Interviews