У овом упутству ћемо научити о интерфејсу Сет у Јави и његовим методама.
Set
Интерфејс Јава Collections
оквира обезбеђује карактеристике математичког скупа у Јави. Проширује Collection
интерфејс.
За разлику од List
интерфејса, скупови не могу да садрже дупле елементе.
Класе које примењују Сет
Пошто Set
је интерфејс, не можемо од њега стварати објекте.
Да бисмо користили функционалности Set
интерфејса, можемо користити ове класе:
- ХасхСет
- ЛинкедХасхСет
- ЕнумСет
- ТрееСет
Ове класе су дефинисане у Collections
оквиру и примењују Set
интерфејс.
Интерфејси који проширују Сет
Set
Интерфејс је такође проширен овим субинтерфацес:
- СортедСет
- НавигаблеСет
Како се користи Сет?
У Јави морамо увозити java.util.Set
пакет да бисмо га могли користити Set
.
// Set implementation using HashSet Set animals = new HashSet();
Овде смо створили Set
такозване животиње. HashSet
Класу смо користили за примену Set
интерфејса.
Методе постављања
Set
Интерфејс укључује све методе Collection
интерфејса. То је зато што Collection
је супер интерфејс од Set
.
Неке од најчешће коришћених метода Collection
интерфејса које су такође доступне у Set
интерфејсу су:
- адд () - додаје наведени елемент у скуп
- аддАлл () - додаје све елементе наведене колекције у скуп
- итератор () - враћа итератор који се може користити за секвенцијални приступ елементима скупа
- ремове () - уклања наведени елемент из скупа
- ремовеАлл () - уклања све елементе из скупа који је присутан у другом наведеном скупу
- ретаинАлл () - задржава све елементе у скупу који су такође присутни у другом наведеном скупу
- цлеар () - уклања све елементе из скупа
- сизе () - враћа дужину (број елемената) скупа
- тоАрраи () - враћа низ који садржи све елементе скупа
- цонтаинс () - враћа
true
ако скуп садржи наведени елемент - цонтаинсАлл () - враћа
true
ако скуп садржи све елементе наведене колекције - хасхЦоде () - враћа вредност хеш кода (адреса елемента у скупу)
Да бисте сазнали више о методама Set
интерфејса, посетите Јава Сет (званична Јава документација).
Сет Оператионс
Јава Set
интерфејс нам омогућава да изводимо основне операције математичког скупа попут спајања, пресека и подскупа.
- Унија - можемо добити унију два скупа к и и
x.addAll(y)
- Пресек - да бисмо добили пресек два скупа к и и, можемо користити
x.retainAll(y)
- Подскуп - да бисмо проверили да ли је к подскуп и, можемо користити
y.containsAll(x)
Примена постављеног интерфејса
1. Примена класе ХасхСет
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
, посетите Јава ХасхСет.
2. Примена класе ТрееСет
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(", "); ) ) )
Оутпут
Постави помоћу ТрееСет: (1, 2, 3) Приступ елементима помоћу итератора (): 1, 2, 3,
Да бисте сазнали више о томе TreeSet
, посетите Јава ТрееСет.
Сада када знамо шта Set
је, видећемо њене имплементације у настави као EnumSet
, HashSet
, LinkedHashSet
и TreeSet
у наредних туторијала.