CodeGym /Java блог /Случаен /HashSet contains() метод в Java
John Squirrels
Ниво
San Francisco

HashSet contains() метод в Java

Публикувано в групата

Какво е HashSet?

HashSet е вграден тип данни в Java и казано на лаик можете да кажете „HashSet е неподредена колекция от уникални елементи“. Разгледайте основен пример:HashSet contains() метод в Java - 2
Фигура 1: Илюстрация, показваща валидни и невалидни примери за HashSet
(Преди да продължите, очакваме да знаете за термините хеширане и хеш таблици .) ​​HashSet разширява ( разширява означава, че клас е наследен от друг клас) AbstractSet и имплементира интерфейса Set. Ето няколко точки, които трябва да имате предвид, преди да работите с HashSets:
  • Той създава колекция ( колекция означава единична единица от обекти, напр.: ArrayList, LinkedList, Vector и т.н.), която използва хеш table за съхранение.
  • Дублиращи се стойности не са разрешени в HashSet.
  • Можете да вмъкнете „нулеви“ стойности в HashSet.
  • Не се поддържа ред за вмъкване. Така че, ако искате да вмъкнете елементи в ред, HashSet ще бъде лош избор за вашите изисквания.
  • Ако искате да получите/извлечете елемент за постоянно време (O(1)), тогава HashSet е един от най-добрите подходи, които можете да предприемете.

Какво представлява методът HashSet.contains()?

HashSet.contains() е булев метод за проверка дали даден елемент присъства в екземпляр на HashSet or не. Просто казано, дали наборът съдържа желания елемент. Java.util.HashSet осигурява ефективна реализация за него. Нека ви покажем How можете ефективно да го използвате, за да разрешите вашите запитвания.

съдържа() с цели числа


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));
   }
}
Изход
Всички елементи в хешсет: [0, null, 1, 2, 3, 4, 5] След добавяне на дубликати: [0, null, 1, 2, 3, 4, 5] -------Използване на метод Contains- ------ digits.contains(0) : true digits.contains(2) : true digits.contains(3) : false digits.contains(null) : true

съдържа() с низове

Разгледайте друг пример за метод съдържа() със 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);         
	}
}
Изход
Преминаване през дъгата: Червено Виолетово Жълто Синьо Индиго Оранжево Зелено -------Използване на метода Contains------- rainbow.contains("Yellow"): истинска дъга.contains("White"): фалшива дъга. съдържа ("Лавандула"): фалшива дъга.contains("Червено"): истинска дъга.contains("Червено"): фалшиво След премахване на червено: [виолетово, жълто, синьо, индиго, оранжево, зелено]
Както можете да видите, редът на извеждане е различен от реда на поставяне на елементите в Hashset.

Заключение

Методът contains() за HashSets е доста лесен за използване. Въпреки това, в случай на объркване, винаги можете да се обърнете към тази публикация. Честито codeиране! :)
Коментари
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION