Скажите, пожалуйста, я правильно понимаю, что через for each задачу не решить, потому что типы данных разные - String vs Date ?
И нужно другой алгоритм ?
package com.javarush.task.task08.task0816;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.*;
/*
Добрая Зинаида и летние каникулы
*/
public class Solution {
public static Map<String, Date> createMap() throws ParseException {
DateFormat dateFormat = new SimpleDateFormat("MMMMM d yyyy", Locale.ENGLISH);
Map<String, Date> map = new HashMap<>();
map.put("Смирнов", dateFormat.parse("June 1 2012"));
map.put("Иванов", dateFormat.parse("MAY 1 2012"));
map.put("Петров", dateFormat.parse("January 1 2012"));
map.put("Сидоров", dateFormat.parse("July 1 2012"));
map.put("Бахута", dateFormat.parse("February 1 2012"));
map.put("Бурымова", dateFormat.parse("March 1 2012"));
map.put("Александров", dateFormat.parse("August 1 2012"));
map.put("Точечкин", dateFormat.parse("June 1 2012"));
map.put("Змеева", dateFormat.parse("MAY 1 2012"));
map.put("Ноутбуков", dateFormat.parse("March 1 2012"));
return map;
}
public static void removeAllSummerPeople(Map<String, Date> map) {
List<String> list = new ArrayList<String>();
list.add("June");
list.add("July");
list.add("August");
for (String values: map.entrySet()){
if (values.equals(list.next())){
map.entrySet().remove(key);
}
}
}
public static void main(String[] args) {
}
}
используй keySet() for (String values: map.keySet())фигню сказал, не посмотрел толком. в принципе можно, но нужно привести все к одному формату