如何在 Apex Salesforce 中基于 1 个键显示地图的列表值?
How to display Map's list value based on 1 key in Apex Salesforce?
大家好,
我有一个场景,我正在定义一个带有字符串键和列表的映射。现在,我想将值一个一个地放入列表中,并使用单个键显示它们。示例代码-
Map<string,List<Account>> accountMap = new Map<string,List<Account>>();
//How to insert values. I am using this but no luck-
for(Account acc = [Select Id, Name from Account]){
accountMap(acc.Id,accList)
}
//Lets say we have data. How to display any **specific** value from the middle of the list. I am using this but no luck-
AccountList.get(id).get(3);
请帮忙。
使用帐户 ID 作为示例是个糟糕的主意,因为它们将是唯一的 -> 您的列表的大小始终为 0。但是,是的,您应该能够做类似的事情。
你的东西甚至不能编译,你不能在 for(Account acc = [SELECT...])
中使用“=”。
假设您有多个帐户,其中一些帐户重名。这将接近您的需要:
Map<string,List<Account>> accountMap = new Map<string,List<Account>>();
for(Account acc : [SELECT Name, Description FROM Account LIMIT 100]){
if(accountMap.containsKey(acc.Name)){
accountMap.get(acc.Name).add(acc);
} else {
accountMap.put(acc.Id, new List<Account>{acc});
}
}
然后是的,如果您有密钥,您可以访问 accountMap.get('Acme Inc.')[0].Id
大家好,
我有一个场景,我正在定义一个带有字符串键和列表的映射。现在,我想将值一个一个地放入列表中,并使用单个键显示它们。示例代码-
Map<string,List<Account>> accountMap = new Map<string,List<Account>>();
//How to insert values. I am using this but no luck-
for(Account acc = [Select Id, Name from Account]){
accountMap(acc.Id,accList)
}
//Lets say we have data. How to display any **specific** value from the middle of the list. I am using this but no luck-
AccountList.get(id).get(3);
请帮忙。
使用帐户 ID 作为示例是个糟糕的主意,因为它们将是唯一的 -> 您的列表的大小始终为 0。但是,是的,您应该能够做类似的事情。
你的东西甚至不能编译,你不能在 for(Account acc = [SELECT...])
中使用“=”。
假设您有多个帐户,其中一些帐户重名。这将接近您的需要:
Map<string,List<Account>> accountMap = new Map<string,List<Account>>();
for(Account acc : [SELECT Name, Description FROM Account LIMIT 100]){
if(accountMap.containsKey(acc.Name)){
accountMap.get(acc.Name).add(acc);
} else {
accountMap.put(acc.Id, new List<Account>{acc});
}
}
然后是的,如果您有密钥,您可以访问 accountMap.get('Acme Inc.')[0].Id