Vad är en HashSet?
HashSet är en inbyggd datatyp i Java, och i lekmannatermer kan du säga " HashSet är en oordnad samling av unika element." Ta en titt på ett grundläggande exempel:- Den skapar en samling ( samling betyder en enda enhet av objekt t.ex.: ArrayList, LinkedList, Vector etc) som använder en hashtabell för lagring.
- Dubblettvärden är inte tillåtna i en HashSet.
- Du kan infoga "null"-värden i en HashSet.
- Ingen insättningsordning bibehålls. Så om du vill infoga objekt i ordning, kommer en HashSet att vara ett dåligt val för dina krav.
- Om du vill hämta/hämta ett element i konstant tid (O(1)) så är ett HashSet ett av de bästa tillvägagångssätten du kan ta.
Vad är metoden HashSet.contains()?
HashSet.contains() är en boolesk metod för att kontrollera om ett objekt finns i en instans av HashSet eller inte. Enkelt uttryckt, om setet innehåller det önskade elementet. Java.util.HashSet tillhandahåller en effektiv implementering för det. Låt oss visa dig hur du effektivt kan använda det för att lösa dina frågor.contains() med heltal
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));
}
}
Produktion
Alla element i hashset: [0, null, 1, 2, 3, 4, 5] Efter att du har lagt till dubbletter: [0, null, 1, 2, 3, 4, 5] -------Använder Contains Method- ------ digits.contains(0) : true digits.contains(2) : true digits.contains(3) : false digits.contains(null) : sant
contains() med Strings
Ta en titt på ett annat exempel på contains() -metoden med 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);
}
}
Produktion
Att korsa regnbågen: Röd Violett Gul Blå Indigo Orange Grön -------Att använda Contains Method------- rainbow.contains("Yellow"): true rainbow.contains("White"): falsk regnbåge. contains("Lavendel"): false rainbow.contains("Red"): true rainbow.contains("Red"): false Efter att ha tagit bort Röd: [Violett, Gul, Blå, Indigo, Orange, Grön]
Som du kan se skiljer sig ordningen för utdata från ordningen för att lägga in elementen i hashset.
GO TO FULL VERSION