如何获取关键字以及apex for循环中的值?

Vic*_*ilo 6 for-loop key salesforce apex-code

我有一个map对象,它存储<Id, String>Id是联系人ID的位置,String是生成的电子邮件消息.

我已成功遍历地图,并且能够在迭代地图时拉出值(字符串部分).

我想要做的就是在抓住价值时抓住钥匙.这在大多数语言中都很简单,但我似乎无法找到如何在顶点执行此操作.

这就是我现在所拥有的:

Map<Id,String> mailContainer = new Map<Id,String>{};

for(String message : mailContainer.values())
{

    // This will return my message as desired
    System.debug(message);

}
Run Code Online (Sandbox Code Playgroud)

我想要的是这样的:

for(String key=>message : mailContainer.values())
{

    // This will return the contact Id
    System.debug(key);

    // This will return the message
    System.debug(message);

}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Ada*_*ler 12

迭代键而不是值:

for (Id id : mailContainer.keySet())
{
    System.debug(id);
    System.debug(mailContainer.get(id));
}
Run Code Online (Sandbox Code Playgroud)