Отображения и подсчёт частот
Изучите основы Map (put/get/remove), перебор записей, счётчик частот слов и TreeMap для отсортированного представления.
«Отображения и подсчёт частот» — бесплатный урок Java Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 3 уроков всего.
Что такое отображение?
Отображение хранит пары ключ→значение. Подходящие варианты:
- HashMap: быстрое, порядок не гарантируется.
- TreeMap: ключи отсортированы.
- LinkedHashMap: сохраняет порядок добавления.
Распространённые операции
Основные операции:
- put(k,v), get(k), containsKey(k), remove(k)
- Размер: size()
- Цикл: entrySet() для перебора ключей и значений.
Код: основы отображений
Ключи уникальны. Повторное использование ключа заменяет его значение. Используйте entrySet() для перебора записей.
public class Main {
public static void main(String[] args) {
java.util.Map<String, Integer> scores = new java.util.HashMap<>();
scores.put("Ada", 90);
scores.put("Bob", 75);
scores.put("Ada", 95); // replaces old value
System.out.println("Bob's score=" + scores.get("Bob"));
System.out.println("Has Ada? " + scores.containsKey("Ada"));
scores.remove("Bob");
for (java.util.Map.Entry<String, Integer> e : scores.entrySet()) {
System.out.println(e.getKey() + " -> " + e.getValue());
}
}
}
Идея подсчёта частот
Подсчёт слов: перебирайте слова и обновляйте значения с помощью getOrDefault: map.put(w, map.getOrDefault(w,0)+1).
Код: частота слов
getOrDefault делает подсчёт кратким. Каждое слово увеличивает своё текущее количество на 1.
public class Main {
public static void main(String[] args) {
String[] words = { "to", "be", "or", "not", "to", "be" };
java.util.Map<String,Integer> counter = new java.util.HashMap<>();
for (String w : words) {
int newVal = counter.getOrDefault(w, 0) + 1;
counter.put(w, newVal);
}
System.out.println(counter);
}
}
Код: сортировка в TreeMap
TreeMap автоматически сортирует ключи. Это простой способ вывести результаты в алфавитном порядке.
public class Main {
public static void main(String[] args) {
java.util.Map<String,Integer> counts = new java.util.HashMap<>();
counts.put("banana",2);
counts.put("apple",3);
counts.put("cherry",1);
java.util.Map<String,Integer> sorted = new java.util.TreeMap<>(counts);
for (java.util.Map.Entry<String,Integer> e : sorted.entrySet()) {
System.out.println(e.getKey() + " -> " + e.getValue());
}
}
}
Проверка HashMap
Быстрая проверка: какое утверждение о HashMap верно?
Повторение
Повторение: отображения хранят пары ключ→значение. Вы изучили put/get/remove, подсчёт слов с помощью getOrDefault и отсортированные представления с помощью TreeMap.
Часто задаваемые вопросы
Урок «Отображения и подсчёт частот» бесплатный?
Да — полный текст урока «Отображения и подсчёт частот» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 3 уроков всего.
Чему я научусь в уроке «Отображения и подсчёт частот»?
Изучите основы Map (put/get/remove), перебор записей, счётчик частот слов и TreeMap для отсортированного представления. Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.
Сколько времени занимает урок «Отображения и подсчёт частот»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Отображения и подсчёт частот
- Comparable и Comparator
- Сортировка и поиск с Collections