Как я могу напечатать HashMap <String, ArrayList <MailItem>>? - PullRequest
0 голосов
/ 06 ноября 2018
private HashMap<String, ArrayList<MailItem>> items;
/**
 * Construct a mail server.
 */
public MailServer()
{
    items = new HashMap<String, ArrayList<MailItem>>();
}

как бы вы добавили метод к классу, который перебирает пользователей, распечатывает каждое имя пользователя и распечатывает все электронные письма, связанные с этим пользователем? в основном, как вы пишете код для итерации по хэш-карте пользователей, а затем по списку пользователей и распечатки всех значений для каждого пользователя?

1 Ответ

0 голосов
/ 07 ноября 2018
public static void print(Map<String, List<MailItem>> map) {
    map.forEach((userName, mailItems) -> {
        System.out.println("User name: " + userName);
        System.out.println("User emails: " + mailItems.stream().map(MailItem::getEmail).collect(Collectors.joining(",")));
        System.out.println();
    });
}
...