В этом примере написана программа, которая подсчитывает количество слов в тексте и отображает слова и их появление в алфавитном порядке слов. Программа использует TreeMap для хранения записи, состоящей из слова и его количества. Для каждого слова проверьте, является ли оно уже ключом в карте. Если нет, добавьте на карту запись со словом в качестве ключа и значением 1. В противном случае увеличьте значение слова (ключа) на 1 в карте. Предположим, что слова нечувствительны к регистру; например, Хорошо рассматривается так же, как хорошо.
Приведенный ниже код дает решение проблемы.
а 2
класс 1
весело 1
хорошо 3
есть 3
утро 1
посетите 1
Программа создает TreeMap (строка 11) для хранения пар слов и количества их вхождений. Слова служат ключами. Поскольку все значения на карте должны храниться как объекты, счетчик заключен в объект Integer.
Программа извлекает слово из текста с помощью метода split (строка 13) в классе String. Для каждого извлеченного слова программа проверяет, сохранено ли оно уже как ключ в карте (строка 18). Если нет, то в карте (строка 19) сохраняется новая пара, состоящая из слова и его начального счетчика (1). В противном случае счетчик слова увеличивается на 1 (строки 21–23).
Программа получает записи карты в наборе (строка 29) и просматривает набор, чтобы отобразить счетчик и ключ в каждой записи (строки 32–33).
Поскольку карта представляет собой древовидную карту, записи отображаются в порядке возрастания слов. Вы также можете отображать их в порядке возрастания количества вхождений.
Теперь сядьте и подумайте, как бы вы написали эту программу без использования карты. Ваша новая программа будет длиннее и сложнее. Вы обнаружите, что карта — это очень эффективная и мощная структура данных для решения подобных задач.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3