16
DecThe 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 map?
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
Read: How To Get A Job In Salesforce Without Experience?
The following are methods for Map. All are instance methods.
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));
}
putAll(fromMap):
Read: Queueable Apex Job
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')
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
}
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()){
system.debug(acctmap.get(accValue));
}
Example How to display record on basis of alphabet
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="<script>" title="<script>" />
<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
Read: What is Collection in Salesforce?
JanBask Training is a leading Global Online Training Provider through Live Sessions. The Live classes provide a blended approach of hands on experience along with theoretical knowledge which is driven by certified professionals.
AWS
DevOps
Data Science
Hadoop
Salesforce
QA
Business Analyst
SQL Server
Search Posts
Trending Posts
Top 30 Core Java Interview Questions and Answers for Fresher, Experienced Developer 23.8k
Difference Between AngularJs vs. Angular 2 vs. Angular 4 vs. Angular 5 vs. Angular 6 16.6k
Cloud Computing Interview Questions And Answers 12.5k
SSIS Interview Questions & Answers for Fresher, Experienced 10.3k
Related Posts
Receive Latest Materials and Offers on Salesforce Course
Interviews