我有一个地图对象,存储<Id, String>
,其中Id是联系人ID,字符串是生成的电子邮件。
我已成功循环浏览地图,并且能够在迭代地图时拉出值(字符串部分)。
当我抓住价值时,我希望能够抓住钥匙。这在大多数语言中都很简单,但我似乎无法在顶点找到它。
这就是我现在所拥有的:
Map<Id,String> mailContainer = new Map<Id,String>{};
for(String message : mailContainer.values())
{
// This will return my message as desired
System.debug(message);
}
我想要的是这样的:
for(String key=>message : mailContainer.values())
{
// This will return the contact Id
System.debug(key);
// This will return the message
System.debug(message);
}
提前致谢!
答案 0 :(得分:12)
迭代键而不是值:
for (Id id : mailContainer.keySet())
{
System.debug(id);
System.debug(mailContainer.get(id));
}
答案 1 :(得分:0)
您找不到它,因为它不存在。 Apex允许迭代键或值,但不能迭代关联(键,值)。
答案 2 :(得分:0)
对于它的价值,这是实现它的另一种方式(稍微冗长一点)......
Map<id, string> myMap = Map<id, string> ();
set<id> keys = myMap.keySet();
for (id k:keys) {
system.debug(k +' : '+ myMap.get(k));
}