23:45
Урок 21: Коллекции Set

Курс по программированию на Java

Урок 21: Коллекции Set

Коллекции типа Set в Java представляют собой неупорядоченные коллекции уникальных элементов. Это означает, что каждое значение может присутствовать в коллекции только один раз. Основные реализации интерфейса Set включают HashSet, LinkedHashSet и TreeSet, каждая из которых имеет свои особенности и области применения.

HashSet

HashSet — это наиболее популярная реализация интерфейса Set. Она обеспечивает быструю проверку наличия элемента благодаря использованию хеш-таблицы, однако не гарантирует какого-либо порядка элементов.

Пример использования HashSet

Рассмотрим пример работы с HashSet:

import java.util.HashSet;
import java.util.Set;

public class HashSetExample {
 public static void main(String[] args) {
 Set set = new HashSet<>();
 set.add("Apple");
 set.add("Banana");
 set.add("Orange");
 set.add("Apple"); // Дубликат не будет добавлен

 for (String fruit : set) {
 System.out.println(fruit);
 }
 }
}

Результат выполнения

Apple
Banana
Orange

LinkedHashSet

LinkedHashSet сохраняет порядок добавления элементов, что делает его полезным, когда требуется итерация в определенном порядке.

Пример использования LinkedHashSet

Пример работы с LinkedHashSet:

import java.util.LinkedHashSet;
import java.util.Set;

public class LinkedHashSetExample {
 public static void main(String[] args) {
 Set set = new LinkedHashSet<>();
 set.add("Apple");
 set.add("Banana");
 set.add("Orange");
 set.add("Apple"); // Дубликат не будет добавлен

 for (String fruit : set) {
 System.out.println(fruit);
 }
 }
}

Результат выполнения

Apple
Banana
Orange

Упражнения

Упражнение 1: Работа с HashSet

Напишите программу, которая создает множество уникальных номеров студентов и выводит их на экран.

Решение:

import java.util.HashSet;
import java.util.Set;

public class StudentSet {
 public static void main(String[] args) {
 Set studentIds = new HashSet<>();
 studentIds.add(101);
 studentIds.add(102);
 studentIds.add(103);
 studentIds.add(101); // Дубликат не будет добавлен

 for (Integer id : studentIds) {
 System.out.println("Student ID: " + id);
 }
 }
}

Объяснение: Программа создает множество уникальных номеров студентов с использованием HashSet и выводит их на экран с помощью цикла for-each. Дубликаты не добавляются в множество.

Упражнение 2: Работа с TreeSet

Напишите программу, которая создает отсортированное множество имен и выводит их на экран.

Решение:

import java.util.Set;
import java.util.TreeSet;

public class NameSet {
 public static void main(String[] args) {
 Set names = new TreeSet<>();
 names.add("Анна");
 names.add("Иван");
 names.add("Мария");
 names.add("Анна"); // Дубликат не будет добавлен

 for (String name : names) {
 System.out.println(name);
 }
 }
}

Объяснение: Программа создает отсортированное множество имен с использованием TreeSet и выводит их на экран с помощью цикла for-each. Дубликаты не добавляются в множество.

Категория: Java | Просмотров: 42 | Добавил: Admin | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: