如何在 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