Java'da HashSet


Java Java DəstiBaxılıb 40

Java-da bir HashSet nədir

Java-dakı HashSet proqramını həyata keçirən bir sinifdir Set interfeys və məlumatları hashtableda saxlayır. Java.util paketinin bir hissəsidir. Elementləri HashSet-dən saxlamaq və götürmək üçün hashing texnikasından istifadə edir. Hash prosesi zamanı elementləri lazımi indeksdə saxlamaq üçün yaradılan hashcode dəyərindən istifadə edir.

Java HashSet xüsusiyyətləri

  • Yalnız təkrarolunmaz dəyəri saxlayır, yəni təkrarlanan dəyərlərə icazə vermir.
  • Verilənləri hashcode dəyərinə əsasən saxladığı üçün heç bir əlavə qaydasını təmin etmir.
  • HashSet boş dəyərlərin saxlanmasına imkan verir.
  • Sinxronizasiya edilmir.
  • Java HashSet sinfi, performansı daha sürətli olduğundan axtarış əməliyyatları üçün ən yaxşı seçim kimi istifadə edilə bilər.

HashSet hiyerarşisi

Java'da HashSetPin

HashSet-də inşaatçılar

konstruktortəsvir
HashSet ()Varsayılan HashSet yaradır
HashSet (int tutumu)Müəyyən edilmiş tutumu olan bir HashSet yaradır
HashSet (int tutumu, float loadFactor)Müəyyən edilmiş tutumu və yük faktoru ilə bir HashSet yaradır.
HashSet (c kolleksiyası)Göstərilən kolleksiya ilə HashSet yaradır

HashSet-də metodlar

Aşağıda metodika Java HashSet sinfi tərəfindən dəstəklənir.

ÜsultəsvirParameters
boolean əlavə (Object e)Göstərilən elementi dəstə əlavə edire - əlavə ediləcək element
Element artıq mövcud deyilsə, doğru qayıdır
Element artıq mövcuddursa, yalnış qaytarır
boolean addAll (Collection c)Göstərilən kolleksiyadakı bütün elementləri əlavə edirc - əlavə ediləcək elementləri olan kolleksiya
boşluq təmiz ()Dəstdəki bütün elementləri silir və dəsti boş edir
Obyekt klonu ()TreeSet nümunəsinin dayaz bir nüsxəsini qaytarır
boolean tərkibində (Object o) varDəstdə göstərilən element varsa, doğru qaytarıro - axtarış üçün element
booleanAll (Collection c)Dəst, kolleksiyada göstərilən bütün elementləri ehtiva edirsə, doğru qayıdırc - axtarış üçün toplama elementləri
boolean bərabərdir (Object o)Dəstdəki göstərilən obyekti müqayisə edirMövcud olduqda doğru qayıdır
Təqdim edilmədiyi təqdirdə yalnış qaytarır
boolean isEmpty ()Çoxluq boş olduqda və heç bir element daxil etmədikdə doğru qayıdır
Təkrarlayıcı iterator ()Artan sırada elementlərin üstünə bir iterator qaytarır
boolean çıxarın (Object o)Müəyyən edilmiş elementi dəstdən siləro - çıxarılacaq element
boolean removeAll (Collection c)Göstərilən kolleksiyadakı bütün elementləri silirc - silinəcək elementlərin toplanması
boolean retainAll (Kolleksiya c)Setdəki göstərilən kolleksiyadakı bütün elementləri saxlayır və Setdəki digər elementləri çıxarırc - saxlanılacaq elementlərin toplusu
int ölçüsü ()Dəstdəki elementlərin sayı olan dəstin ölçüsünü qaytarır
Spliterator spliterator ()Dəstdəki elementlər üzərindəki bölücüyü qaytarır
Obyekt [] toArray ()Çoxluqdakı elementlərin bir sıra təmsilini qaytarır
String toString ()Çoxluqdakı elementlərin bir simli nümayəndəliyini qaytarır

Misal: Element əlavə edin

Aşağıda Java HashSet-ə elementləri əlavə etmək üçün bir nümunə add() metod. Bundan əlavə, Set-ə elementlər kolleksiyası əlavə edə bilərik addAll() metodu.

import java.util.HashSet;

public class AddHashSetElements {

  public static void main(String[] args) {
    HashSet<Integer> hs = new HashSet<Integer>();
    hs.add(30);
    hs.add(10);
    hs.add(20);
    hs.add(40);
    
    System.out.println("Elements in the HashSet after add operation: " + hs);
    
    HashSet<Integer> h = new HashSet<Integer>();
    h.add(60);
    h.add(50);
    
    hs.addAll(h);
    
    System.out.println("ELements in the HashSet after addAll operation: " + hs);
    

  }

}
Elements in the HashSet after add operation: [20, 40, 10, 30]
ELements in the HashSet after addAll operation: [50, 20, 40, 10, 60, 30]

Misal: Elementləri silin

Aşağıdakı misal, elementləri Java-da HashSet-dən remove() metod. Elementlərin kolleksiyasını silmək üçün removeAll() üsul və yalnız toplama elementlərini qorumaq üçün istifadə edə bilərik retainAll() metodu.

import java.util.HashSet;

public class RemoveHashSetElements {

  public static void main(String[] args) {
    HashSet<Integer> hs = new HashSet<Integer>();
    hs.add(30);
    hs.add(10);
    hs.add(20);
    hs.add(40);
    
    HashSet<Integer> h = new HashSet<Integer>();
    h.add(60);
    h.add(50);
    hs.addAll(h);
    
    System.out.println("Elements in the HashSet: " + hs);
    
    hs.remove(30);
    System.out.println("Elements in the HashSet after remove method: " + hs);
    
    hs.retainAll(h);
    System.out.println("Elements in the HashSet after retainAll method: " + hs);

    hs.removeAll(h);
    System.out.println("Elements in the HashSet after removeAll method: " + hs);

  }

}
Elements in the HashSet: [50, 20, 40, 10, 60, 30]
Elements in the HashSet after remove method: [50, 20, 40, 10, 60]
ELements in the HashSet after retainAll method: [50, 60]
Elements in the HashSet after removeAll method: []

Nümunə: HashSet silin və boş olub olmadığını yoxlayın

İstifadə edərək HashSet-i silə bilərik clear() bütün elementləri dəstdən kənarlaşdıran metod. The isEmpty() metod HashSet'in boş olub olmadığını yoxlayır.

import java.util.HashSet;

public class RemoveHashSetElements {

  public static void main(String[] args) {
    HashSet<Integer> hs = new HashSet<Integer>();
    hs.add(30);
    hs.add(10);
    hs.add(20);
    hs.add(40);
    
    System.out.println("Elements in the HashSet: " + hs);
    System.out.println("Size of the HashSet: " + hs.size());
    
    hs.clear();
    System.out.println("Is HashSet empty: " + hs.isEmpty());

  }

}
Elements in the HashSet: [20, 40, 10, 30]
Size of the HashSet: 4
Is HashSet empty: true

Misal: Elementlərin olub olmadığını yoxlayın

Aşağıdakı nümunədə contains() HashSet-də göstərilən elementin olub olmadığını yoxlamaq üçün metod. İstifadə edə bilərik containsAll() dəstin elementlər kolleksiyası olub-olmadığını yoxlamaq üçün metod.

import java.util.HashSet;
public class CheckElement {

  public static void main(String[] args) {
    HashSet<String> city = new HashSet<String>();
    city.add("Bangalore");
    city.add("Chennai");
    city.add("Delhi");
    city.add("Mumbai");
    
    System.out.println("Elements in the HashSet: " + city);
    System.out.println("Check if Chennai exist: " + city.contains("Chennai"));
    System.out.println("Check if Hyderabad exist: " + city.contains("Hyderabad"));
    
    HashSet<String> c = new HashSet<String>();
    c.add("Hyderabad");
    c.add("Jaipur");
    
    city.addAll(c);
    System.out.println("Elements after addAll method: " + city);
    System.out.println("Check if collection exist: " + city.containsAll(c));
  }

}
Elements in the HashSet: [Delhi, Chennai, Mumbai, Bangalore]
Check if Chennai exist: true
Check if Hyderabad exist: false
Elements after addAll method: [Delhi, Chennai, Jaipur, Mumbai, Hyderabad, Bangalore]
Check if collection exist: true

Misal: HashSet elementləri üzərində təkrarlayın

İstifadə edərək Java-da HashSet-dəki elementlərdən keçə bilərik iterator() metod. Aşağıda eyni şeyi göstərmək üçün bir nümunə var.

import java.util.HashSet;
import java.util.Iterator;
public class IterateHashSet {

  public static void main(String[] args) {
    HashSet<String> names = new HashSet<String>();
    names.add("Ravi");
    names.add("Rakesh");
    names.add("Suresh");
    names.add("Dinesh");
    
    Iterator<String> it = names.iterator();
    while(it.hasNext())
      System.out.println(it.next());

  }

}
Suresh
Ravi
Dinesh
Rakesh

 

arayış

Şərh yaz

Translate »
1