大家好,
我有一个场景,我正在定义一个带有字符串键和列表的Map。现在,我想把值一个接一个地放在列表中,并使用单个Key显示它们。示例代码-
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。但是,是的,你应该能够做这样的事情。
你的东西甚至不能编译,你不能使用"="infor(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