Задача 1: Реализуйте структуру телефонной книги с помощью HashMap. Программа также должна учитывать, что во входной структуре будут повторяющиеся имена с разными телефонами, их необходимо считать, как одного человека с разными телефонами. Вывод должен быть отсортирован по убыванию числа телефонов.(можно выводить без сортировки, но обязательно в отдельном методе)
Хранение и обработка данных ч2: множество коллекций Map
Пример:
Ввод Ivanov", 123 Ivanov", 1234 Petrov", 546585 Sidorov", 8956477 Ivanov", 12356233 Petrov", 787897 Вывод без сортировки Petrov: 546585, 787897, Ivanov: 123, 1234, 12356233, Sidorov: 8956477,
Решение:
import java.util.ArrayList;import java.util.HashMap;import java.util.Map;public class Z1{// Метод, который добавляет номера в книгуpublic static void addNumber(String key, int value, Map<String, ArrayList<Integer>> map){if (map.containsKey(key)) {map.get(key).add(value);} else {ArrayList<Integer> list = new ArrayList<>();list.add(value);map.put(key, list);}}// Метод, который печатает список контактовpublic static void printBook(Map<String, ArrayList<Integer>> map){for (var item : map.entrySet()) {String phones = «»;for(int el: item.getValue()){phones = phones + el + «, «;}System.out.printf(«%s: %s \n», item.getKey(), phones);}}public static void main(String[] args) {Map<String, ArrayList<Integer>> bookPhone = new HashMap<>();addNumber(«Ivanov», 123, bookPhone);addNumber(«Ivanov», 1234, bookPhone);addNumber(«Petrov», 546585, bookPhone);addNumber(«Sidorov», 8956477, bookPhone);addNumber(«Ivanov», 12356233, bookPhone);addNumber(«Petrov», 787897, bookPhone);printBook(bookPhone);}}
Пояснение:
Задача на языке Java на HashMap: телефонная книга.
Общая оценка
Интересность
5/10
Сложность задачи
4/10
Лаконичность кода
5/10
Итого
4.7