Наборы в Java: уметь работать с Java Set Interface



Набор в Java - это набор неупорядоченных элементов; при этом повторяющиеся значения не могут быть сохранены. Прочтите эту статью и узнайте все о сборе наборов Java.

Java Collection Framework содержит множество интерфейсов, одним из которых является Set Interface. Эта статья даст вам подробное введение в наборы в . Ниже приведены указания, которые будут рассмотрены в этой статье:

Наборы в Java

Набор может быть определен как набор неупорядоченных элементов, в котором нельзя хранить повторяющиеся значения. Он расширяет Collection и, следовательно, все методы в доступны в интерфейсе Set. Это реализуется с помощью HashSet, LinkedHashSet или TreeSort.





Наборы - Коллекции Java - Edureka

Каждая из этих реализаций действует по-разному во время итерации набора, в основном в отношении порядка элементов и времени, необходимого для вставки и доступа к элементам.



    • Hash Set делает не дают никаких гарантий относительно порядка элементов при повторении набора.
    • LinkedHashSet с другой стороны, обеспечивает гарантию порядка элементов при их повторении.
    • TreeSet обеспечивает гарантию, но набор сортируется в соответствии с естественным порядком или конкретной реализацией компаратора.

Как создать сет?

Следующий код определяет метод создания нового набора:

Set num = new HashSet ()



Мы использовали дженерики объявить набор целочисленного типа.

Установить методы в Java:

Мы можем выполнять несколько операций над набором, например:

Добавить метод

Метод add вставляет элемент в . В приведенный ниже код мы вставляем набор имен.

Установить strName = new HashSet () strName.add ('John') strName.add ('Doe') System.out.println (strName)

Вывод:

[Джон Доу]

Удалить метод

Этот метод удаляет указанный элемент из набора.

import java.util. * public class Main {public static void main (String args []) {// Создание пустого набора Set set = new HashSet () // Добавление элементов в набор set.add ('John') set .add ('Doe') // Отображение набора System.out.println ('Set:' + set) // Удаление элемента «Doe» с помощью метода remove () set.remove ('Doe') // Отображение модифицированный набор System.out.println ('Set:' + set)}}

Вывод:

массив объектов класса java

Набор: [Джон, Доу]

Набор: [Джон]

Пустой метод

Этот метод проверяет, соответствует ли пусто нет. Он возвращает истину, если набор пуст, и ложь, если в противном случае.

import java.io. * import java.util. * public class Main {public static void main (String args []) {Set javaSet = new HashSet () // Добавление элементов в Set javaSet.add ('John') javaSet .add ('Doe') // Отображение набора System.out.println ('Set:' + javaSet) // Проверка, является ли набор пустым System.out.println ('Empty Set:' + javaSet.isEmpty () ) // Очистка набора с помощью метода clear () javaSet.clear () // Проверка, является ли набор пустым System.out.println ('Empty Set:' + javaSet.isEmpty ())}}

Вывод:

Набор: [Джон, Доу]

Пустой набор: ложь

Пустой набор: истина

Размер Метод

Метод size () возвращает размер набора, то есть количество элементов, присутствующих в наборе.

import java.util. * public class Main {public static void main (String args []) {// Создание набора Set set = new HashSet () set.add ('John') set.add ('Doe') System .out.println ('Set:' + set) // Отображение размера отправленного System.out.println ('Размер набора:' + set.size ())}}

Вывод:


Набор: [Джон, Доу]

Размер набора: 2

Итерация по набору

Мы можем перебрать все элементы, присутствующие в наборе, следующим способом:

import java.util. * import java.util.HashSet public class Main {public static void main (String args []) {// Создание HashSet HashSet javaSet = new HashSet () javaSet.add ('John') javaSet.add ('Doe') // Отображение набора System.out.println ('HashSet:' + javaSet) // Создание итератора Iterator itr = javaSet.iterator () // Отображение значений после итерации System.out.println (' Значения итератора: ') while (itr.hasNext ()) {System.out.println (itr.next ())}}}

Вывод:

HashSet: [Джон, Доу]

Значения итератора:

Джон

Делать

Поиск в наборе

Мы используем метод contains (), чтобы определить, содержит ли набор указанный элемент. Возвращает true, если элемент найден, и false в противном случае.

import java.io. * import java.util.HashSet public class Main {public static void main (String args []) {// Создание HashSet HashSet javaSet = new HashSet () javaSet.add ('John') javaSet.add ('Doe') // Отображение HashSet System.out.println ('HashSet:' + javaSet) // Проверка наличия «Джона» в наборе System.out.println ('John in set:' + javaSet.contains ( 'John')) // Проверяем наличие 'Hazel' в наборе System.out.println ('Hazel in set:' + javaSet.contains ('Hazel'))}}

Вывод:

HashSet: [Джон, Доу]

Джон в наборе: правда

Орешник в наборе: ложь

Базовая операция над множествами в Java

  • Союз: Чтобы добавить один набор к другому, мы используем операцию Union
  • Пересечение: Чтобы сохранить общие значения из обоих наборов, мы используем операцию пересечения.
  • Разница: Чтобы удалить значения одного набора, из другого набора используется операция разности.

пример

import java.util. * public class Main {public static void main (String args []) {Set d = new HashSet () d.addAll (Arrays.asList (new Integer [] {3, 2, 1, 9, 6 , 4, 0})) Set e = new HashSet () e.addAll (Arrays.asList (new Integer [] {3, 1, 9, 5, 2, 0, 7,})) // Операция объединения Set union = new HashSet (d) union.addAll (e) System.out.println ('Union:' + union) // Операция пересечения Установить пересечение = new HashSet (d) correction.retainAll (e) System.out.println (' Пересечение: '+ пересечение) // Операция разницы Установить разницу = новый HashSet (d) разность.removeAll (e) System.out.println (' Разница: '+ разница)}}

Вывод:

Союз: [0, 1, 2, 3, 4, 5, 6, 7, 9]

использование итератора в Java

Пересечение: [0, 1, 2, 3, 9]

Разница: [4, 6]

Методы и операции, упомянутые в методе, делают заданный интерфейс элементарным и эффективным по своей природе.

На этом мы подошли к концу статьи о «Наборы в Java». Если вы хотите узнать больше, ознакомьтесь с от Edureka, надежной компании онлайн-обучения. Курс обучения и сертификации по Java J2EE и SOA от Edureka разработан, чтобы научить вас базовым и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.

Есть вопрос к нам? Пожалуйста, укажите это в комментариях к статье «Наборы в java», и мы свяжемся с вами как можно скорее.