Làm cách nào để kiểm tra xem HashMap có giá trị không?

Xin chào các bạn, một trong những vấn đề phổ biến mà nhiều nhà phát triển Java làm việc với HashMap gặp phải là làm cách nào để kiểm tra xem Bản đồ có chứa một khóa hoặc giá trị cụ thể hay không? . Vì HashMap cũng cho phép các giá trị trùng lặp, nên cũng có thể cùng một giá trị có thể được ghép nối với nhiều khóa, do đó, chỉ xóa ánh xạ có thể không đủ để xóa giá trị cụ thể đó. Không chú ý đến những chi tiết này đã thực sự gây ra sự cố trong các ứng dụng Java.

Để bảo vệ khỏi những loại tình huống này hoặc chỉ đơn giản là để kiểm tra xem một khóa hoặc giá trị cụ thể có tồn tại trong HashMap hay không, bạn có thể sử dụng containsKey[ . and containsValue[] method from the HashMap class in Java.

Cả hai phương thức này đều nhận một đối tượng Khóa hoặc Giá trị và trả về một giá trị boolean, i. e. true nếu khóa hoặc giá trị tồn tại trong Bản đồ hoặc false nếu không .

Trong khi thực hiện đánh giá mã, tôi đã thấy nhiều nhà phát triển Java thích lặp lại bản đồ để kiểm tra xem một khóa hoặc giá trị cụ thể có tồn tại trong HashMap hay không, điều đó không lý tưởng và mất nhiều thời gian hơn; . containsKey[] and containsValue[] method to solve the problem.

Đó là lý do tại sao điều quan trọng đối với nhà phát triển Java là phải biết rõ về API Java. Nếu bạn hiểu rõ hơn về API Java thì bạn có thể giải quyết vấn đề Java hàng ngày của mình theo những cách đơn giản và hiệu quả hơn.




Java HashMap chứaKey[] và containsValue[] Ví dụ

Bây giờ, hãy xem một ví dụ đơn giản để hiểu cách bạn có thể kiểm tra xem một khóa hoặc giá trị cụ thể có tồn tại trong HashMap hay không. Trong chương trình này, tôi đã tạo một Bản đồ chứa nó để lập bản đồ tên của nhân viên. Đó là một bản đồ nhỏ và chỉ chứa năm mục, nhưng như vậy là đủ để hiểu cách sử dụng containsKey[]containsValue . methods.

Đây là cấu trúc của lớp HashMap, bạn có thể thấy cách các mục nhập được lưu trữ và quá trình tra cứu diễn ra như thế nào. Nếu muốn tìm hiểu thêm, bạn cũng xem bài How HashMap works in Java từ blog này.



Dù sao thì, để không làm mất thời gian của bạn nữa, đây là mã Java hoàn chỉnh để kiểm tra xem một khóa hoặc giá trị có tồn tại trong một Bản đồ nhất định hay không.

______0


Như bạn có thể thấy rằng khi chúng tôi tìm kiếm một khóa không tồn tại, 200 phương thức containsKey[] được trả về  false and when we search for an existing key like 100 it returned true.  Similarly, the containsValue[] trả về false khi bạn tìm kiếm một . true if the value is present in the Map.

Đó là điều chúng tôi muốn, nhiệm vụ đã hoàn thành. Tuy nhiên, nếu bạn muốn tìm hiểu thêm về lớp HashMap hoặc Java Collection Framework thì bạn cũng có thể xem 10 ví dụ về HashMap trong hướng dẫn Java ở đâu .





Điểm quan trọng về chứaKey[] và containsValue[]

1. Cả hai phương thức containsKey[]containsValue[] đều được định nghĩa trong java.util.Map giao diện có nghĩa là chúng không chỉ khả dụng với HashMap mà còn với tất cả các loại Bản đồ, như , LinkedHashMap, Hashtable và trong Java.

2. Phương thức containsKey[] trả về true nếu có một khóa đã cho trong .

key==null ? k==null : key.equals[k]


Điều này có nghĩa là nếu Bản đồ cho phép khóa null và bạn . containsKey may return true.

Ngoài ra, việc biết API Java sẽ giúp ích và đó là lý do tại sao các nhà phát triển Java nên tìm hiểu API tốt hơn. Đây cũng là một trong vô số lời khuyên hữu ích do Joshua Bloch đưa ra trong cuốn sách Java hiệu quả, phải đọc kinh điển của ông. Nếu bạn chưa đọc nó, tôi thực sự khuyên bạn nên đọc nó một lần. Nó sẽ giúp bạn trở thành một nhà phát triển Java tốt hơn.




3. Phương thức containsKey[] có thể ném NullPulumException nếu Map không hỗ trợ . Nó cũng có thể ném ClassCastException nếu loại khóa đã cho không tương thích với các khóa trong Bản đồ.

4. Phương thức containsValue[] trả về true nếu Bản đồ chứa giá trị đã cho . Chính xác khi điều kiện sau là đúng.

value==null ? v==null : value.equals[v]


5. containsValue[] có thể yêu cầu thời gian tuyến tính theo kích thước bản đồ đối với hầu hết quá trình triển khai giao diện Bản đồ vì nó cần duyệt qua Bản đồ để lấy giá trị.

6. Tương tự như containsKey[] , phương thức containsValue[] cũng có thể ném . ClassCastException for incompatible values and NullPointerException if the value is null and that Map implementation doesn't support null values, like Hashtable.


Đó là tất cả về cách kiểm tra xem một khóa hoặc giá trị đã cho có tồn tại trong HashMap trong Java hay không. Như chúng ta đã biết, bạn có thể sử dụng containsKey[]containsValue[] method to check for the existent of any key or value. These methods are also declared in the Map interface, which means you can use these methods with any Map implementations, like to check keys and values in the TreeMap, LinkedHashMap < Hashtable, and ConcurrentHashMap.



Hướng dẫn về Bộ sưu tập Java có liên quan
Nếu bạn muốn tìm hiểu thêm về Khung bộ sưu tập Java hoặc bản thân HashMap thì bạn có thể muốn xem các bài viết sau
  • 5 Books to Learn Java 8 from Scratch [books]
  • Cách sử dụng phương thức filter[] trong Java 8 [hướng dẫn]
  • Cách chuyển đổi Danh sách thành Bản đồ trong Java 8 [giải pháp]
  • Sự khác biệt giữa lớp trừu tượng và giao diện trong Java 8?
  • 20 Ví dụ về Ngày và Giờ trong Java 8 [hướng dẫn]
  • Cách sử dụng phương thức peek[] trong Java 8 [ví dụ]
  • Sự khác biệt giữa HashSet, TreeSet và LinkedHashSet trong Java?
  • Sự khác biệt giữa HashMap và ArrayList trong Java?
  • Sự khác biệt giữa HashSet và ArrayList trong Java?
  • 5 điểm khác biệt giữa HashMap và Hashtable trong Java?
  • Sự khác biệt giữa ArrayList và LinkedList trong Java là gì?
  • Làm cách nào để sử dụng NavigableMap trong Java 6?
  • Làm cách nào để sử dụng BlockingQueue trong Chương trình Java?
  • 5 khóa học hàng đầu để tìm hiểu sâu về Java Collections Framework [khóa học]
  • Làm cách nào để sắp xếp bản đồ theo các khóa trong Java 8?
  • Làm cách nào để sắp xếp có thể theo giá trị trong Java 8?
  • Top 10 khóa học Java Core nâng cao dành cho Lập trình viên có kinh nghiệm [khóa học]
Thanks for reading this article so far. If you like this Java HashMap tutorial and tips, then please share it with your friends and colleagues. If you have any questions or feedback, then please drop a note.



P. S. - Nếu bạn chưa quen với thế giới Java và muốn học Java từ đầu nhưng đang tìm kiếm một cuốn sách hoặc khóa học trực tuyến miễn phí thì tôi cũng khuyên bạn nên xem Thực hành Java bằng Dự án xây dựng, một khóa học thực hành và miễn phí trên Udemy. Tất cả những gì bạn cần làm là tạo một tài khoản Udemy miễn phí và đăng ký khóa học này.  


Làm cách nào để kiểm tra xem một giá trị có trong bản đồ Java không?

Giải pháp tiêu chuẩn để kiểm tra xem một giá trị có tồn tại trong bản đồ hay không là sử dụng phương thức containsValue[] , phương thức này trả về true nếu bản đồ ánh xạ .

Làm cách nào để kiểm tra xem một giá trị có hay không có trong Java?

Phương pháp tiếp cận .
Sử dụng phương pháp Tìm kiếm tuyến tính
Sử dụng phương pháp tìm kiếm nhị phân
Sử dụng danh sách. phương thức chứa []
Sử dụng luồng. phương thức anyMatch[]

Làm cách nào để nhận giá trị trong HashMap?

HashMap. phương thức get[] của lớp HashMap được sử dụng để truy xuất hoặc tìm nạp giá trị được ánh xạ bởi một khóa cụ thể được đề cập trong tham số . Nó trả về NULL khi bản đồ không chứa ánh xạ như vậy cho khóa.

Làm cách nào để biết giá trị bản đồ không trống?

Sử dụng phương thức size[] . Nếu phương thức size[] trả về 0 thì HashMap trống, nếu không thì không.

Chủ Đề