በጃቫ ውስጥ HashSet



ጃቫ የጃቫ ስብስብ

በጃቫ ውስጥ ‹HashSet› ምንድነው?

በጃቫ ውስጥ ሃሽሴትን የሚተግብረው ክፍል ነው አዘጋጅ በይነገጽ እና መረጃን በሃሽታዊ ውስጥ ያከማቻል። የ java.util ጥቅል አካል ነው። ከ ‹ሃሽሴት› ንጥረ ነገሮቹን ለማከማቸት እና ለማምጣት የሃሺንግ ቴክኒክን ይጠቀማል ፡፡ በሃሺንግ ሂደት ውስጥ ንጥረ ነገሮችን በሚፈለገው መረጃ ጠቋሚ ላይ ለማከማቸት የተፈጠረውን የሃሽኮድ እሴት ይጠቀማል ፡፡

የጃቫ ሃሽሴት ገጽታዎች

  • ልዩ እሴት ብቻ ያከማቻል ይህም ማለት የተባዙ እሴቶችን አይፈቅድም ማለት ነው ፡፡
  • በሃሽኮድ እሴት ላይ በመመርኮዝ መረጃውን ስለሚያከማች ማንኛውንም የማስገባት ትዕዛዝ አይጠብቅም።
  • HashSet የኑሮ እሴቶችን ለማከማቸት ይፈቅዳል።
  • እሱ አልተመሳሰለም።
  • የጃቫ HashSet ክፍል አፈፃፀሙ ፈጣን ስለሆነ ለፍለጋ ስራዎች እንደ ምርጥ አማራጭ ሆኖ ሊያገለግል ይችላል።

የ HashSet ተዋረድ

በጃቫ ውስጥ HashSet

በሃሽሴት ውስጥ ገንቢዎች

ግንበኛመግለጫ
ሃሽሴት ()ነባሪ HashSet ን ይፈጥራል
HashSet (int አቅም)ከተጠቀሰው አቅም ጋር HashSet ን ይፈጥራል
HashSet (int አቅም ፣ ተንሳፋፊ ጭነት ፋክተር)ከተጠቀሰው አቅም እና ጭነት ሁኔታ ጋር HashSet ን ይፈጥራል።
ሃሽሴት (ስብስብ ሐ)ከተጠቀሰው ስብስብ ጋር HashSet ን ይፈጥራል

ዘዴዎች በ HashSet ውስጥ

ከታች ያሉት ናቸው ዘዴዎች በጃቫ HashSet ክፍል የተደገፈ።

መንገድመግለጫግቤቶች
ቡሊያን አክል (Object e)የተገለጸውን ንጥረ ነገር ወደ ስብስቡ ያክላልሠ - የሚጨመረው ንጥረ ነገር
አባሉ አስቀድሞ ከሌለው ወደ እውነት ይመለሳል
አባል ቀድሞውኑ ካለ ሐሰተኛ ይመልሳል
ቡሊያን አደም ሁሉም (ስብስብ ሐ)በተጠቀሰው ስብስብ ውስጥ ሁሉንም አካላት ያክላልሐ - የሚጨመሩ ንጥረ ነገሮችን የያዘ ስብስብ
ባዶ ()በስብስቡ ውስጥ ያሉትን ሁሉንም ንጥረ ነገሮች ያስወግዳል እና ስብስቡን ባዶ ያደርገዋል
የነገር ክሎነር ()ጥልቀት ያለው የ TreeSet ምሳሌ ቅጅ ይመልሳል
ቡሊያን ይ containsል (Object o)ስብስቡ የተገለጸውን ንጥረ ነገር ከያዘ ወደ እውነት ይመለሳልo - ለመፈለግ አካል
ቡሊያን ሁሉንም ይ containsል (ስብስብ ሐ)ስብስቡ በክምችቱ ውስጥ የተገለጹትን ሁሉንም አካላት ከያዘ ወደ እውነት ይመለሳልሐ - ለመሰብሰብ አባሎች
የቦሊያን እኩልነት (Object o)በተጠቀሰው ውስጥ የተገለጸውን ነገር ያወዳድራልካለ ወደ እውነት ይመለሳል
ከሌለ ሐሰት ይመልሳል
ቡሊያን ባዶ ነው ()ስብስቡ ባዶ ከሆነ እና ምንም አባሎችን ከሌለው ወደ እውነት ይመለሳል
የተስተካከለ ተደጋጋሚ ()ወደ ላይ በሚወጣው ቅደም ተከተል መሠረት በንጥረ ነገሮች ላይ አንድ ተደጋጋሚ ይመልሳል
ቡሊያን አስወግድ (Object o)የተገለጸውን ንጥረ ነገር ከስብስቡ ውስጥ ያስወግዳልo - የሚወገድ ንጥረ ነገር
ቡሊያን አስወግድ ሁሉም (ስብስብ ሐ)በተጠቀሰው ስብስብ ውስጥ ያሉትን ሁሉንም ንጥረ ነገሮች ያስወግዳልሐ - የሚወገዱ ንጥረ ነገሮች ስብስብ
ሁሉም (ስብስብ ሐ)በስብስቡ ውስጥ በተጠቀሰው ስብስብ ውስጥ ያሉትን ሁሉንም ንጥረ ነገሮች ይጠብቃል እና በሴቱ ውስጥ ያሉትን ሌሎች አካላት ያስወግዳቸዋልሐ - የሚጠበቁ ንጥረ ነገሮች ስብስብ
int መጠን ()በስብስቡ ውስጥ ያሉት ንጥረ ነገሮች ብዛት የሆነውን የስብስብ መጠን ይመልሳል
የፊደል አጻጻፍ ፊደል አጻጻፍ ()በስብስብ ውስጥ ባሉት ንጥረ ነገሮች ላይ የቋንቋ ፊደል ሰጭውን ይመልሳል
ነገር [] toArray ()በስብስቡ ውስጥ ያሉትን ንጥረ ነገሮች ድርድር ውክልና ይመልሳል
ሕብረቁምፊ ወደ ወደ ውጭ ()በስብስቡ ውስጥ ያሉትን የንጥሎች ሕብረቁምፊ ውክልና ይመልሳል

ምሳሌ-አካላትን ይጨምሩ

በ በመጠቀም በጃቫ HashSet ላይ አባሎችን ለማከል ከዚህ በታች ምሳሌ ነው add() ዘዴ. እኛ በመጠቀም የቅንጅቶችን ስብስብ ወደ ስብስቡ ማከል እንችላለን addAll() ዘዴ.

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]

ምሳሌ-አባላትን አስወግድ

ከዚህ በታች ያለው ምሳሌ ‹HashSet› ን በጃቫ ውስጥ ያሉትን ንጥረ ነገሮች እንዴት እንደሚወገዱ ያሳያል remove() ዘዴ. የንጥረ ነገሮችን ስብስብ ለማስወገድ ፣ እኛ ልንጠቀምባቸው እንችላለን removeAll() ዘዴ ፣ እና እኛ ልንጠቀምባቸው የምንችላቸውን የስብስብ አካላት ብቻ ለማቆየት retainAll() ዘዴ.

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: []

ምሳሌ: የ HashSet ን ያጽዱ እና ባዶ ከሆነ ያረጋግጡ

በመጠቀም የ HashSet ን ማጽዳት እንችላለን clear() ሁሉንም ንጥረ ነገሮች ከስብስቡ ውስጥ የሚያስወግድ ዘዴ። ዘ isEmpty() HashSet ባዶ ከሆነ ወይም እንዳልሆነ ዘዴ ቼኮች።

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

ምሳሌ: አካላት መኖራቸውን ያረጋግጡ

ከዚህ በታች ያለው ምሳሌ ይጠቀማል contains() HashSet የተገለጸውን ንጥረ ነገር የያዘ መሆኑን ለመፈተሽ ዘዴ። እኛ ልንጠቀምበት እንችላለን containsAll() ስብስቡ የንጥረ ነገሮችን ስብስብ መያዙን ለመፈተሽ ዘዴ።

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

ምሳሌ: - በሃሽሴት አካላት ላይ ኢትሬት ማድረግ

በመጠቀም በጃቫ ውስጥ ባለው ‹HashSet› ውስጥ ያሉትን ንጥረ ነገሮች ማለፍ እንችላለን iterator() ዘዴ. ከዚህ በታች ተመሳሳይ ለማሳየት ምሳሌ ነው ፡፡

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

 

ማጣቀሻ