CodeGym/Blog Java/Ngẫu nhiên/Phương thức HashSet chứa() trong Java

Phương thức HashSet chứa() trong Java

Xuất bản trong nhóm

HashSet là gì?

HashSet là một kiểu dữ liệu tích hợp sẵn trong Java và theo thuật ngữ thông thường, bạn có thể nói “HashSet là một tập hợp các phần tử duy nhất không có thứ tự.” Hãy xem một ví dụ cơ bản:Phương thức HashSet chứa() trong Java - 2
Hình 1: Hình minh họa hiển thị các ví dụ hợp lệ và không hợp lệ của HashSet
(Trước khi bạn tiếp tục, chúng tôi mong bạn biết về các thuật ngữ bămbảng băm .) HashSet extends ( mở rộng có nghĩa là một lớp được kế thừa từ một lớp khác) AbstractSet và triển khai giao diện Set. Dưới đây là một số điểm bạn cần xem xét trước khi làm việc với HashSets:
  • Nó tạo ra một bộ sưu tập ( bộ sưu tập có nghĩa là một đơn vị đối tượng, ví dụ: ArrayList, LinkedList, Vector, v.v.) sử dụng bảng băm để lưu trữ.
  • Các giá trị trùng lặp không được phép trong HashSet.
  • Bạn có thể chèn các giá trị “null” trong HashSet.
  • Không có thứ tự chèn nào được duy trì. Vì vậy, nếu bạn đang muốn chèn các mục theo thứ tự, HashSet sẽ là một lựa chọn không tồi cho yêu cầu của bạn.
  • Nếu bạn muốn nhận/truy xuất một phần tử trong thời gian không đổi (O(1)) thì HashSet là một trong những cách tiếp cận tốt nhất bạn có thể thực hiện.

Phương thức HashSet.contains() là gì?

HashSet.contains() là một phương thức boolean để kiểm tra xem một mục có xuất hiện trong một phiên bản của HashSet hay không. Nói một cách đơn giản, liệu tập hợp có chứa phần tử mong muốn hay không. Java.util.HashSet cung cấp một triển khai hiệu quả cho nó. Hãy để chúng tôi chỉ cho bạn cách bạn có thể sử dụng nó một cách hiệu quả để giải quyết các truy vấn của mình.

chứa () với số nguyên

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));
   }
}
đầu ra
Tất cả các phần tử trong hàm băm: [0, null, 1, 2, 3, 4, 5] Sau khi thêm các bản sao: [0, null, 1, 2, 3, 4, 5] -------Sử dụng phương pháp chứa------- chữ số.contains(0): đúng chữ số.contains(2): đúng chữ số.contains(3): sai chữ số.contains(null): đúng

chứa () với Chuỗi

Hãy xem một ví dụ khác về phương thức contains() với 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);
	}
}
đầu ra
Vượt qua cầu vồng: Màu đỏ màu tím Màu vàng Màu xanh da trời xanh đậm Quả cam Màu xanh lá -------Sử dụng phương pháp chứa------- Rainbow.contains("Vàng"): đúng Rainbow.contains("Trắng"): sai Rainbow.contains("Lavender"): sai Rainbow.contains("Đỏ"): đúng Rainbow.contains("Đỏ"): sai Sau khi loại bỏ Màu đỏ: [Tím, Vàng, Xanh lam, Chàm, Cam, Xanh lục]
Như bạn có thể thấy thứ tự đầu ra khác với thứ tự đưa các phần tử vào Hashset.

Phần kết luận

Phương thức chứa () cho HashSets là một phương thức khá đơn giản để sử dụng. Tuy nhiên, trong trường hợp có bất kỳ sự nhầm lẫn nào, bạn luôn có thể tham khảo bài đăng này. Mã hóa vui vẻ! :)
Bình luận
  • Phổ biến
  • Mới
Bạn phải đăng nhập để đăng nhận xet
Trang này chưa có bất kỳ bình luận nào