CodeGym/Java Blog/Willekeurig/HashSet bevat() Methode in Java
John Squirrels
Niveau 41
San Francisco

HashSet bevat() Methode in Java

Gepubliceerd in de groep Willekeurig

Wat is een hashset?

HashSet is een ingebouwd datatype in Java, en in lekentermen kun je zeggen: "HashSet is een ongeordende verzameling unieke elementen." Bekijk een eenvoudig voorbeeld:HashSet bevat () Methode in Java - 2
Fig 1: Een illustratie met geldige en ongeldige voorbeelden van een HashSet
(Voordat u verder gaat, verwachten we dat u de termen hashing en hash-tabellen kent .) HashSet breidt uit ( uitbreiden betekent dat een klasse wordt geërfd van een andere klasse) AbstractSet en implementeert de Set-interface. Hier zijn een paar punten waarmee u rekening moet houden voordat u met HashSets gaat werken:
  • Het maakt een verzameling aan ( verzameling betekent een enkele eenheid van objecten, bijvoorbeeld: ArrayList, LinkedList, Vector enz.) die een hashtabel gebruikt voor opslag.
  • Dubbele waarden zijn niet toegestaan ​​in een HashSet.
  • U kunt "null" -waarden invoegen in een HashSet.
  • Er wordt geen invoegopdracht bijgehouden. Dus als u items op volgorde wilt invoegen, is een HashSet een slechte keuze voor uw vereisten.
  • Als u een element in constante tijd (O(1)) wilt ophalen/ophalen, dan is een HashSet een van de beste benaderingen die u kunt nemen.

Wat is de methode HashSet.contains()?

HashSet.contains() is een Booleaanse methode om te controleren of een item aanwezig is in een instantie van HashSet of niet. Simpel gezegd, of de set het gewenste element bevat. Java.util.HashSet biedt hiervoor een efficiënte implementatie. Laten we u laten zien hoe u het effectief kunt gebruiken om uw vragen op te lossen.

bevat() met gehele getallen

import java.util.HashSet;

public class HashSetDemo {
   public static void main(String[] args) {

       // Declare your hash set
       HashSet digits = new HashSet();

       digits.add(0);
       digits.add(1);
       digits.add(2);
       digits.add(3);
       digits.add(4);
       digits.add(5);
       digits.add(null);
       System.out.println("All elements in hashset:\t" + digits);

       // Try adding duplicates
       digits.add(5);
       digits.add(2);
       System.out.println("After adding duplicates: \t" + digits);

       System.out.println("\n-------Using Contains Method-------");
       // Check out if the following digits exist in the hashset
       System.out.println("digits.contains(0) : " + digits.contains(0));
       System.out.println("digits.contains(2) : " + digits.contains(2));
       System.out.println("digits.contains(3) : " + digits.contains(7));
       System.out.println("digits.contains(null) : " + digits.contains(null));
   }
}
Uitgang
Alle elementen in hashset: [0, null, 1, 2, 3, 4, 5] Na toevoeging van duplicaten: [0, null, 1, 2, 3, 4, 5] -------Met behulp van de methode Bevat- ------ digits.contains(0) : true digits.contains(2) : true digits.contains(3) : false digits.contains(null) : true

bevat() met tekenreeksen

Bekijk nog een voorbeeld van de methode contain() met Strings .
import java.util.HashSet;
public class HashSetDemo {
     public static void main(String[] args) {

	  // Try working with another hash set of String type
	  HashSet rainbow = new HashSet();

        // Adding elements into HashSet using add()
        rainbow.add("Red");
        rainbow.add("Orange");
        rainbow.add("Yellow");
        rainbow.add("Green");
        rainbow.add("Blue");
        rainbow.add("Indigo");
        rainbow.add("Violet");


        // Let's traverse the hashset
        System.out.println("Traversing the rainbow:");
        for (String i : rainbow){
             System.out.println(i);
        }
       // Check out if rainbow contains this color or not
    	 System.out.println("\n-------Using Contains Method-------");

        System.out.println("rainbow.contains(\"Yellow\"): \t" + rainbow.contains("Yellow"));
        System.out.println("rainbow.contains(\"White\"): \t"  + rainbow.contains("White"));
        System.out.println("rainbow.contains(\"Lavender\"): \t"  + rainbow.contains("Lavender"));
        System.out.println("rainbow.contains(\"Red\"): \t"  + rainbow.contains("Red"));

        // Remove a color from rainbow using remove()
        rainbow.remove("Red");

        // Now consume  set contains() method again to check if it's still present
        System.out.println("rainbow.contains(\"Red\"): \t"  + rainbow.contains("Red"));

        System.out.println("\nAfter removing Red: " + rainbow);
	}
}
Uitgang
De regenboog doorkruisen: Rood Violet Geel Blauw Indigo Oranje Groen -------Gebruik de methode Bevat ------- rainbow.contains("Yellow"): true rainbow.contains("White"): false rainbow. bevat("Lavendel"): false rainbow.contains("Rood"): true regenboog.contains("Rood"): false Na het verwijderen van Rood: [Violet, Geel, Blauw, Indigo, Oranje, Groen]
Zoals u kunt zien, is de volgorde van uitvoer anders dan de volgorde waarin de elementen in de hashset worden geplaatst.

Conclusie

De methode contain() voor HashSets is vrij eenvoudig te gebruiken. In geval van verwarring kunt u echter altijd naar dit bericht verwijzen. Veel plezier met coderen! :)
Opmerkingen
  • Populair
  • Nieuw
  • Oud
Je moet ingelogd zijn om opmerkingen te kunnen maken
Deze pagina heeft nog geen opmerkingen