Java знакомство и как пользоваться базовым API: Реализуйте структуру телефонной книги с помощью HashMap. Программа также должна учитывать, что во входной структуре будут повторяющиеся имена с разными телефонами, их необходимо считать, как одного человека с разными телефонами. Вывод должен быть отсортирован по убыванию числа телефонов.(можно выводить без сортировки, но обязательно в отдельном методе)

Задача 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

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий