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. Show
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() và 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() và 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() và 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
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. |