Может кто объяснить почему мы сравниваем с String name и String lastName??? Не могу вспомнить, когда такое упоминалось в предыдущих лекциях и вообще не понимаю этот метод. Объясните пожалуйста или посоветуйте, что почитать, какую информацию поискать. Спасибо большое за понимание!
Нурлан
16 уровень
Может кто объяснить почему мы сравниваем с String name и String lastName???
Обсуждается
Комментарии (12)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Fors Major
11 марта 2020, 10:50
строки это ссылки, две строки , даже если они равны между собой визуально могут ссылаться на разные объекты. String s = "мама" ; String m = "мама" ; s == m ;( false)
s.equals(m) = ture;
т.е метод .equals(); сравнивает содержимое строк , а не ссылку на объекты
0
Нурлан
11 марта 2020, 10:53
Я все равно не понял.
0
Fors Major
11 марта 2020, 10:58
в чем затык? что не понятно зачем мы сравниваем или как мы сравниваем?
0
Нурлан
11 марта 2020, 11:03
if(pair.getValue().equals(name)) - почему сравниваем с name? Откуда мы знаем , что в name хранятся имена(values), которые мы прописали: петя, вася и т.д.
то же самое с фамилией(key), почему сравниваем с lastName?
0
Олег Backend Developer
11 марта 2020, 12:18
String name это аргумент метода getCountTheSameFirstName, в который мы передаем наш Map и этот name, с которым сравниваем элементы Map. Мы знаем, что в name хранится Имя, т.к. мы сами его туда передаем в момент вызова метода.
0
Нурлан
11 марта 2020, 12:51
то есть в String name содержит наш map ключами и аргументами? не могу понять, как мы его (map) туда поместили? Объясните, если не сложно.
0
Олег Backend Developer
11 марта 2020, 13:08
Нет, не так.
Вот метод getCountTheSameLastName. Ему в качестве параметров передаются Map<String, String> map (там хранятся имена и фамилии) и String lastName (это фамилия для поиска).
В map и lastName мы ничего не грузили, мы только описали как метод должен работать с этими параметрами.
+2
Нурлан
11 марта 2020, 15:39
я немного запутался, мы ведь сравниваем имена которые в нашем списке? то есть есть ли одинаковые имена среди тех, что мы ввели, среди наших десяти имен?
Если да, то я не понимаю как проходит процесс сравнения.
Спасибо, что помогаете!
0
IceBergMaster
11 марта 2020, 16:24
Нет, name передаётся любой, а задача метода проверить, сколько раз это имя встречается в мапе.
0
Нурлан
11 марта 2020, 17:58
позвольте уточнить, значит мы сравниваем имена(map), которые мы ввели со String name, значения которого не введены? то есть мы сравниваем то что у нас есть с тем чего нет, но могло быть?
0
IceBergMaster
11 марта 2020, 18:53
Мы ничего никуда не вводим, метод принимает мапу(любую) и имя(любое), потом делает всё необходимое. Никакой связи с мапой созданной в другом методе здесь нет.
0
Fors Major
11 марта 2020, 10:47
мы должны сравнивать все name с другими name и lastName соответственно.
int count = 0;
for (String q: map.keySet()
) {if (q.equals(lastName)) count ++;
}
return count;
0