Почему 4 пункт, метод с FirstName засчитывает, а 5 пункт с LastName не принимает, если решать через contains(). Проверял, выводит 1, как и должно быть. Если решать через equals(), то задача засчитывается. Может я чего-то не понимаю, и так нельзя делать?
public static Map<String, String> createMap() {
Map<String, String> map = new HashMap<>();
map.put("Хазиев", "Эдик");
map.put("Фатхудинов", "Эдик");
map.put("Хасанов", "Ильдус");
map.put("Сагадатгареев", "Артур");
map.put("Хафизов", "Айрат");
map.put("Шаев", "Сергей");
map.put("Чулков", "Сергей");
map.put("Латыпов", "Айдар");
map.put("Журавлев", "Артур");
map.put("Субботкин", "Дима");
return map;
}
public static int getCountTheSameFirstName(Map<String, String> map, String name) {
int n =0;
for (String x: map.values()) {
if (x.contains(name)) {
n++;
}
}
return n;
}
public static int getCountTheSameLastName(Map<String, String> map, String lastName) {
int n =0;
for (String x: map.keySet()) {
if (x.contains(lastName)) {
n++;
}
}
return n;
}
public static void main(String[] args) {
System.out.println(getCountTheSameFirstName(createMap(), "Эдик"));
System.out.println(getCountTheSameLastName(createMap(), "Хазиев"));
}
}