logo

Јава ХасхСет

Јава ХасхСет хијерархија класа

Јава ХасхСет класа се користи за креирање колекције која користи хеш табелу за складиштење. Он наслеђује класу АбстрацтСет и имплементира Сет интерфејс.

Важне тачке о Јава ХасхСет класи су:

  • ХасхСет складишти елементе користећи механизам тзв хеширање.
  • ХасхСет садржи само јединствене елементе.
  • ХасхСет дозвољава нулту вредност.
  • ХасхСет класа није синхронизована.
  • ХасхСет не одржава редослед уметања. Овде се елементи убацују на основу њиховог хеш кода.
  • ХасхСет је најбољи приступ за операције претраживања.
  • Почетни подразумевани капацитет ХасхСет-а је 16, а фактор оптерећења је 0,75.

Разлика између листе и скупа

Листа може да садржи дупликате елемената док Сет садржи само јединствене елементе.

Хијерархија класе ХасхСет

Класа ХасхСет проширује класу АбстрацтСет која имплементира Сет интерфејс. Интерфејс Сет наслеђује интерфејсе Цоллецтион и Итерабле у хијерархијском редоследу.

груписање

ХасхСет декларација класе

Хајде да видимо декларацију за класу јава.утил.ХасхСет.

питхон је нумерички
 public class HashSet extends AbstractSet implements Set, Cloneable, Serializable 

Конструктори Јава ХасхСет класе

СН Цонструцтор Опис
1) ХасхСет() Користи се за конструисање подразумеваног ХасхСета.
2) ХасхСет (инт капацитет) Користи се за иницијализацију капацитета хеша постављеног на дату целобројну вредност капацитета. Капацитет аутоматски расте како се елементи додају у ХасхСет.
3) ХасхСет(инт капацитет, флоат фактор оптерећења) Користи се за иницијализацију капацитета хеш постављеног на дату целобројну вредност капацитета и специфицирани фактор оптерећења.
4) ХасхСет (колекција ц) Користи се за иницијализацију хеш скупа коришћењем елемената колекције ц.

Методе класе Јава ХасхСет

Различите методе Јава ХасхСет класе су следеће:

СН Модификатор и тип Метод Опис
1) боолеан додај (Е е) Користи се за додавање наведеног елемента овом скупу ако већ није присутан.
2) празнина јасно() Користи се за уклањање свих елемената из скупа.
3) објекат клон () Користи се за враћање плитке копије ове ХасхСет инстанце: сами елементи нису клонирани.
4) боолеан садржи (објекат о) Користи се за враћање труе ако овај скуп садржи наведени елемент.
5) боолеан Празно() Користи се за враћање труе ако овај скуп не садржи елементе.
6) Итератор итератор() Користи се за враћање итератора преко елемената у овом скупу.
7) боолеан уклонити (објекат о) Користи се за уклањање наведеног елемента из овог скупа ако је присутан.
8) инт величина() Користи се за враћање броја елемената у скупу.
9) Сплитератор сплитератор() Користи се за креирање касно-везујућег и брзог Сплитера преко елемената у скупу.

Јава ХасхСет Пример

Хајде да видимо једноставан пример ХасхСет-а. Приметите, елементи се понављају у неуређеној колекцији.

 import java.util.*; class HashSet1{ public static void main(String args[]){ //Creating HashSet and adding elements HashSet set=new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); set.add('Four'); set.add('Five'); Iterator i=set.iterator(); while(i.hasNext()) { System.out.println(i.next()); } } } 
 Five One Four Two Three 

Јава ХасхСет пример игнорисања дупликата елемената

У овом примеру видимо да ХасхСет не дозвољава дуплиране елементе.

 import java.util.*; class HashSet2{ public static void main(String args[]){ //Creating HashSet and adding elements HashSet set=new HashSet(); set.add('Ravi'); set.add('Vijay'); set.add('Ravi'); set.add('Ajay'); //Traversing elements Iterator itr=set.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } } 
 Ajay Vijay Ravi 

Јава ХасхСет пример за уклањање елемената

Овде видимо различите начине за уклањање елемента.

 import java.util.*; class HashSet3{ public static void main(String args[]){ HashSet set=new HashSet(); set.add('Ravi'); set.add('Vijay'); set.add('Arun'); set.add('Sumit'); System.out.println('An initial list of elements: '+set); //Removing specific element from HashSet set.remove('Ravi'); System.out.println('After invoking remove(object) method: '+set); HashSet set1=new HashSet(); set1.add('Ajay'); set1.add('Gaurav'); set.addAll(set1); System.out.println('Updated List: '+set); //Removing all the new elements from HashSet set.removeAll(set1); System.out.println('After invoking removeAll() method: '+set); //Removing elements on the basis of specified condition set.removeIf(str->str.contains('Vijay')); System.out.println('After invoking removeIf() method: '+set); //Removing all the elements available in the set set.clear(); System.out.println('After invoking clear() method: '+set); } } 
 An initial list of elements: [Vijay, Ravi, Arun, Sumit] After invoking remove(object) method: [Vijay, Arun, Sumit] Updated List: [Vijay, Arun, Gaurav, Sumit, Ajay] After invoking removeAll() method: [Vijay, Arun, Sumit] After invoking removeIf() method: [Arun, Sumit] After invoking clear() method: [] 

Јава ХасхСет из друге колекције

 import java.util.*; class HashSet4{ public static void main(String args[]){ ArrayList list=new ArrayList(); list.add('Ravi'); list.add('Vijay'); list.add('Ajay'); HashSet set=new HashSet(list); set.add('Gaurav'); Iterator i=set.iterator(); while(i.hasNext()) { System.out.println(i.next()); } } } 
 Vijay Ravi Gaurav Ajay 

Јава ХасхСет Пример: књига

Хајде да видимо ХасхСет пример где додајемо књиге за постављање и штампамо све књиге.

спајање низова
 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class HashSetExample { public static void main(String[] args) { HashSet set=new HashSet(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to HashSet set.add(b1); set.add(b2); set.add(b3); //Traversing HashSet for(Book b:set){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 

Излаз:

 101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6 

Можда ће ти се свидети и:

Рад ХасхСета у Јави