Обзор List и Set
Разберитесь в различиях между List и Set: порядок элементов, дубликаты и повседневные операции. Мы будем добавлять, удалять, искать и перебирать элементы на простых примерах.
«Обзор List и Set» — бесплатный урок Java Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 3 уроков всего.
Что такое коллекции?
Коллекции хранят группы объектов. Список упорядочен и использует индексы, а множество сосредоточено на принадлежности и уникальности. Выбирайте структуру в зависимости от задачи: важен порядок или уникальность?
Список и множество — основные различия
- Список: сохраняет порядок добавления, допускает дубликаты, доступ к элементам осуществляется по индексу.
- Множество: не допускает дубликаты; порядок элементов не гарантируется в HashSet.
- Выбирайте список для последовательностей, а множество — чтобы исключить дубликаты и быстро проверять принадлежность.
Код: основы ArrayList
ArrayList сохраняет порядок и допускает дубликаты. Вы можете обращаться к элементам по индексу и удалять их по значению или индексу.
public class Main {
public static void main(String[] args) {
java.util.List<String> items = new java.util.ArrayList<>();
// add elements (duplicates allowed)
items.add("apple");
items.add("banana");
items.add("apple"); // duplicate ok
// access by index
System.out.println(items.get(0)); // apple
// remove by value and by index
items.remove("banana");
items.remove(0); // remove first
// print remaining
System.out.println(items); // [apple]
}
}
Повседневные операции
Распространённые операции:
- add(e), remove(e), contains(e)
- size() для получения количества элементов
- Перебор по индексу или с помощью расширенного цикла for
Код: уникальность HashSet
HashSet удаляет дубликаты и упрощает проверку принадлежности. При выводе элементы могут отображаться в любом порядке.
public class Main {
public static void main(String[] args) {
java.util.Set<String> tags = new java.util.HashSet<>();
tags.add("java");
tags.add("oop");
tags.add("java"); // duplicate ignored
System.out.println("size=" + tags.size()); // 2
// membership check
System.out.println("has oop? " + tags.contains("oop"));
System.out.println(tags); // order not guaranteed
}
}
Код: способы перебора
Перебирайте элементы по индексу, когда нужны их позиции; используйте расширенный цикл for, если для понятности нужны только сами элементы.
public class Main {
public static void main(String[] args) {
java.util.List<String> list = new java.util.ArrayList<>();
list.add("A"); list.add("B"); list.add("C");
// classic for with index
for (int i = 0; i < list.size(); i = i + 1) {
System.out.print(list.get(i) + (i < list.size()-1 ? " " : "\n"));
}
// enhanced for (for-each)
for (String s : list) {
System.out.print("[" + s + "]");
}
System.out.println();
}
}
Проверка: список и множество
Быстрая проверка: какое утверждение о списке и множестве в Java верно?
Повторение
Повторение: используйте список для упорядоченных последовательностей, а множество — для уникальных элементов и проверки принадлежности. Практика: преобразуйте список в множество, чтобы удалить дубликаты, а затем обратно в список, если нужно сохранить порядок.
Часто задаваемые вопросы
Урок «Обзор List и Set» бесплатный?
Да — полный текст урока «Обзор List и Set» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 3 уроков всего.
Чему я научусь в уроке «Обзор List и Set»?
Разберитесь в различиях между List и Set: порядок элементов, дубликаты и повседневные операции. Мы будем добавлять, удалять, искать и перебирать элементы на простых примерах. Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.
Сколько времени занимает урок «Обзор List и Set»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Обзор List и Set
- Итераторы и расширенный for
- Утилиты коллекций