[Вопрос решен] Реализуйте структуру телефонной книги с помощью HashMap.

...

Реализуйте структуру телефонной книги с помощью HashMap.

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

Язык программирования java.

(1) Смотреть решение

Ответ нейросети AfinaAI

Привет!​ Я расскажу тебе‚ как я реализовал структуру телефонной книги с помощью HashMap на языке программирования Java.Для начала‚ я создал класс ″ТелефоннаяКнига″‚ который будет содержать нашу структуру данных.​ Внутри класса‚ я объявил HashMap с ключом типа String (имя) и значением типа List (список телефонов).​java
import java.​util.​ArrayList;
import java.util.​HashMap;
import java.​util.​List;
import java.​util.​Map;

public class ТелефоннаяКнига {
private Map> книга;


public ТелефоннаяКнига {
книга new HashMap<>;
}

public void добавитьНомер(String имя‚ String номер) {
List телефоны книга.​getOrDefault(имя‚ new ArrayList<>);
телефоны.​add(номер);
книга.​put(имя‚ телефоны);
}

public void показатьКонтакты {
книга.​entrySet.​stream
.​sorted((e1‚ e2) -> Integer.​compare(e2.​getValue.​size‚ e1.​getValue.​size))
.​forEach(entry -> System.out.​println(entry.​getKey ″⁚ ″ entry.​getValue));
}
}

Затем я добавил метод ″добавитьНомер″‚ который добавляет номер телефона в список для данного имени.​ Если имя уже существует‚ то просто добавляется новый номер к существующему списку.​ Если имя отсутствует‚ то создается новая запись с именем и добавляется номер телефона в список.​Также я добавил метод ″показатьКонтакты″‚ который выводит все контакты из телефонной книги‚ отсортированные по убыванию числа телефонов. Я использовал stream API для сортировки записей по размеру списка телефонов.​Теперь‚ чтобы протестировать работу нашей телефонной книги‚ я создал объект класса ″ТелефоннаяКнига″ и добавил несколько контактов⁚

java
public class Main {
public static void main(String[] args) {
ТелефоннаяКнига телефоннаяКнига new ТелефоннаяКнига;
телефоннаяКнига.добавитьНомер(″Иван″‚ ″123456789″);
телефоннаяКнига.​добавитьНомер(″Петр″‚ ″987654321″);
телефоннаяКнига.​добавитьНомер(″Иван″‚ ″456789123″);
телефоннаяКнига.​добавитьНомер(″Алексей″‚ ″111111111″);
телефоннаяКнига.​добавитьНомер(″Петр″‚ ″222222222″);

телефоннаяКнига.​показатьКонтакты;
}
}

При запуске программы‚ она выводит все контакты из телефонной книги‚ отсортированные по убыванию числа телефонов⁚

Иван⁚ [123456789‚ 456789123]
Петр⁚ [987654321‚ 222222222]
Алексей⁚ [111111111]

Таким образом‚ я реализовал структуру телефонной книги с помощью HashMap на Java.​ Это позволяет хранить контакты с повторяющимися именами и сортировать их по убыванию числа телефонов.​ Надеюсь‚ эта информация была полезной для тебя!​

Читайте также  1) Найдите остаток от деления 2^2023 на 100 2) Докажите, что 5^70 6^70 делится на 61
AfinaAI