CodeGym/Java Blog/Random-IT/Metodo HashSet contains() in Java
John Squirrels
Livello 41
San Francisco

Metodo HashSet contains() in Java

Pubblicato nel gruppo Random-IT
membri

Cos'è un HashSet?

HashSet è un tipo di dati integrato in Java e, in parole povere, puoi dire "HashSet è una raccolta non ordinata di elementi unici". Dai un'occhiata a un esempio di base:Metodo HashSet contains() in Java - 2
Fig 1: un'illustrazione che mostra esempi validi e non validi di un HashSet
(Prima di andare oltre, ci aspettiamo che tu conosca i termini hashing e hash tables .) HashSet extends ( extends significa che una classe è ereditata da un'altra classe) AbstractSet e implementa l'interfaccia Set. Ecco alcuni punti che devi considerare prima di lavorare con HashSets:
  • Crea una raccolta ( raccolta significa una singola unità di oggetti, ad esempio: ArrayList, LinkedList, Vector ecc.) Che utilizza una tabella hash per l'archiviazione.
  • I valori duplicati non sono consentiti in un HashSet.
  • È possibile inserire valori "null" in un HashSet.
  • Non viene mantenuto alcun ordine di inserzione. Quindi, se stai cercando di inserire elementi in ordine, un HashSet sarà una cattiva scelta per le tue esigenze.
  • Se vuoi ottenere/recuperare un elemento in tempo costante (O(1)), allora un HashSet è uno dei migliori approcci che puoi adottare.

Cos'è il metodo HashSet.contains()?

HashSet.contains() è un metodo booleano per verificare se un elemento è presente o meno in un'istanza di HashSet. In poche parole, se l'insieme contiene l'elemento desiderato. Java.util.HashSet ne fornisce un'implementazione efficiente. Lascia che ti mostriamo come puoi usarlo in modo efficace per risolvere le tue domande.

contiene() con numeri interi

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));
   }
}
Produzione
Tutti gli elementi in hashset: [0, null, 1, 2, 3, 4, 5] Dopo aver aggiunto i duplicati: [0, null, 1, 2, 3, 4, 5] -------Utilizzando il metodo Contains- ------ digits.contains(0) : true digits.contains(2) : true digits.contains(3) : false digits.contains(null) : true

contiene() con stringhe

Dai un'occhiata a un altro esempio di metodo contains() con 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);
	}
}
Produzione
Attraversando l'arcobaleno: Rosso Viola Giallo Blu Indaco Arancione Verde -------Utilizzo del metodo Contains------- rainbow.contains("Yellow"): true rainbow.contains("White"): false rainbow. contains("Lavender"): false rainbow.contains("Red"): true rainbow.contains("Red"): false Dopo aver rimosso Red: [Violet, Yellow, Blue, Indigo, Orange, Green]
Come puoi vedere, l'ordine di output è diverso dall'ordine di inserimento degli elementi nell'hashset.

Conclusione

Il metodo contains() per HashSets è piuttosto semplice da usare. Tuttavia, in caso di confusione, puoi sempre fare riferimento a questo post. Buona codifica! :)
Commenti
  • Popolari
  • Nuovi
  • Vecchi
Devi avere effettuato l'accesso per lasciare un commento
Questa pagina non ha ancora commenti