Не понимаю каким образом 21 строчка - if(para.getKey().equals(name)){ работает.
Предполагаю что getKey перебирает все значения ключа, и сравнивает его со значение name( но его же тоже множество) получается он перебирает и всю первую группу и всю вторую, но ведь они одно и тоже значение. Не могу никак понять..
Антропопий
12 уровень
Не понимаю
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2322530
23 августа 2020, 06:45
без кода программы сложно ответить на твой вопрос.
0
Алексей Тонишев
27 августа 2020, 07:55
import java.util.*;
/*
Перепись населения
*/
public class Solution {
public static Map<String, String> createMap() {
Map<String, String> map=new HashMap<>();
for(int i=0;i<10;i++){
map.put(i+"Фамилия",i+"Имя");
}
//напишите тут ваш код
return map;
}
public static int getCountTheSameFirstName(Map<String, String> map, String name) {
Map<String, String> copu=new HashMap<>(map);
int count=0;
for(Map.Entry<String, String> pair : map.entrySet()){
if (pair.getValue().equals(name)) count++;
}
return count;
//напишите тут ваш код
}
public static int getCountTheSameLastName(Map<String, String> map, String lastName) {
int count1=0;
for(Map.Entry<String, String> pair : map.entrySet()){
if (pair.getKey().equals(lastName)) count1++;
}
//напишите тут ваш код
return count1;
}
public static void main(String[] args) {
}
}
мне тоже интересно, с чем сравнивается getKey и getValue как работает сравнение с name и lastName?
0
hidden #2322530
27 августа 2020, 08:49
во первых метод equals() при сравнении двух строку, проверяет посимвольно. совпадает ли значение одной строки значению другой строки. почему слова wOrld и World разные.
во вторых.
в данном блоке ты перебираешь все элементы словаря.
дословно данный код читается так:
ДЛЯ КАЖДОЙ пары ИЗ набора пар map{
Если (пара.получитьЗначение РАВНО значению name)
То увеличиваем счетчик
}
pair.getKey() возвращает ключ в данной паре.
pair.getValue() возвращает значение в данной паре.
как только итерация цикла прошла, то в переменной pair будет уже следующая пара(ключ, значение)
name и lastName ты передаешь в аргументе метода.
как сравнивает? вот почитай статью про сравнение строк
+1