Интерфейс за задаване на Java

В този урок ще научим за интерфейса Set в Java и неговите методи.

В Setинтерфейса на Java Collectionsрамка осигурява характеристиките на математически набор от Java. Той разширява Collectionинтерфейса.

За разлика от Listинтерфейса, наборите не могат да съдържат дублиращи се елементи.

Класове, които реализират Set

Тъй като Setе интерфейс, не можем да създаваме обекти от него.

За да използваме функционалностите на Setинтерфейса, можем да използваме следните класове:

  • HashSet
  • LinkedHashSet
  • EnumSet
  • TreeSet

Тези класове са дефинирани в Collectionsрамката и изпълняват Setинтерфейса.

Интерфейси, които разширяват Set

В Setинтерфейса също се удължава с тези subinterfaces:

  • SortedSet
  • NavigableSet

Как да използвам Set?

В Java трябва да импортираме java.util.Setпакет, за да го използваме Set.

 // Set implementation using HashSet Set animals = new HashSet(); 

Тук създадохме така Setнаречените животни. Използвахме HashSetкласа за реализиране на Setинтерфейса.

Методи за задаване

В Setинтерфейса включва всички методи на Collectionинтерфейса. Това е, защото Collectionе супер интерфейс на Set.

Някои от често използваните методи на Collectionинтерфейса, които също се предлагат в Setинтерфейса, са:

  • add () - добавя посочения елемент към набора
  • addAll () - добавя всички елементи от посочената колекция към набора
  • iterator () - връща итератор, който може да се използва за последователен достъп до елементи от набора
  • remove () - премахва посочения елемент от набора
  • removeAll () - премахва всички елементи от набора, който присъства в друг определен набор
  • retainAll () - запазва всички елементи в набора, които също присъстват в друг определен набор
  • clear () - премахва всички елементи от набора
  • size () - връща дължината (броя на елементите) на набора
  • toArray () - връща масив, съдържащ всички елементи от набора
  • contains () - връща, trueако комплектът съдържа посочения елемент
  • containsAll () - връща, trueако комплектът съдържа всички елементи от посочената колекция
  • hashCode () - връща стойност на хеш код (адрес на елемента в набора)

За да научите за повече методи на Setинтерфейса, посетете Java Set (официална документация за Java).

Задайте операции

Интерфейсът на Java Setни позволява да изпълняваме основни операции с математически набор като обединение, пресичане и подмножество.

  • Съюз - за да получим обединението на два множества х и у, можем да използвамеx.addAll(y)
  • Пресичане - за да получим пресечната точка на две множества x и y, можем да използвамеx.retainAll(y)
  • Подмножество - за да проверим дали x е подмножество на y, можем да използвамеy.containsAll(x)

Прилагане на зададения интерфейс

1. Внедряване на клас HashSet

 import java.util.Set; import java.util.HashSet; class Main ( public static void main(String() args) ( // Creating a set using the HashSet class Set set1 = new HashSet(); // Add elements to the set1 set1.add(2); set1.add(3); System.out.println("Set1: " + set1); // Creating another set using the HashSet class Set set2 = new HashSet(); // Add elements set2.add(1); set2.add(2); System.out.println("Set2: " + set2); // Union of two sets set2.addAll(set1); System.out.println("Union is: " + set2); ) ) 

Изход

 Комплект1: (2, 3) Комплект2: (1, 2) Съюзът е: (1, 2, 3) 

За да научите повече за HashSet, посетете Java HashSet.

2. Внедряване на клас TreeSet

 import java.util.Set; import java.util.TreeSet; import java.util.Iterator; class Main ( public static void main(String() args) ( // Creating a set using the TreeSet class Set numbers = new TreeSet(); // Add elements to the set numbers.add(2); numbers.add(3); numbers.add(1); System.out.println("Set using TreeSet: " + numbers); // Access Elements using iterator() System.out.print("Accessing elements using iterator(): "); Iterator iterate = numbers.iterator(); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) ) 

Изход

 Задайте с помощта на TreeSet: (1, 2, 3) Достъп до елементи с помощта на итератор (): 1, 2, 3, 

За да научите повече за TreeSet, посетете Java TreeSet.

Сега, когато знаем какво Setе, ще видим нейните приложения в класове като EnumSet, HashSet, LinkedHashSetи TreeSetв следващите уроци.

Интересни статии...