繁体   English   中英

如何在 Apex Salesforce 中基于 1 个键显示地图的列表值?

[英]How to display Map's list value based on 1 key in Apex Salesforce?

你好美丽的人,

我有一个场景,我正在使用字符串键和列表定义 Map。 现在,我想将值一个一个地放入列表中,并使用单个键显示它们。 示例代码 -

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM