Java HashMap - Biết cách triển khai HashMap trong Java



Bài viết này về Java HashMap sẽ cung cấp cho bạn về lớp HashMap trong Java, là một phần trong bộ sưu tập của Java kể từ Java 1.2. Nó cung cấp cách triển khai cơ bản của giao diện Bản đồ trong Java.

Bản đồ băm là một lớp thu thập dựa trên bản đồ trong Java được sử dụngđể lưu trữ dữ liệu trong các cặp Khóa & Giá trị. Nó cũng giúp thực hiện giao diện Bản đồ trong Java. Thông qua phương tiện của bài viết này, tôi sẽ cho bạn biết cách thực hiện Bản đồ băm.

Các chủ đề dưới đây được đề cập trong bài viết này:





Java HashMap là gì?

Bản đồ băm về cơ bản là một phần của kể từ Java 1.2. Nó cung cấp triển khai cơ bản của Bản đồ giao diện trong Java . Nó thường lưu trữ dữ liệu theo cặp dưới dạng (Khóa, Giá trị). Để truy cập một giá trị trong HashMap, người ta phải biết Khóa của nó.

Các cặp giá trị khóa - Java HashMap - EdurekaNó được đặt tên là HashMap vì nó sử dụng một kỹ thuật gọi là Hashing. Hashing là một quá trình chuyển đổi một chuỗi lớn hơn thành một chuỗi nhỏ hơn bằng cách giữ giá trị của như không đổi. Giá trị nén kết quả giúp lập chỉ mục và tìm kiếm nhanh hơn.



Với điều này, bây giờ hãy cùng tìm hiểu các tính năng khác nhau của HashMap trong Java.

Các tính năng của HashMap

  • Bản đồ băm là một phần của công dụng gói trong Java .

  • HashMap mở rộng một lớp trừu tượng AbstractMap cũng cung cấp một giao diện Bản đồ triển khai không đầy đủ.



    chương trình c ++ để sắp xếp một mảng theo thứ tự tăng dần
  • Nó cũng triển khai Cloneable và Serializable K và V trong định nghĩa trên đại diện cho Khóa và Giá trị tương ứng.

  • HashMap không cho phép các khóa trùng lặp nhưng cho phép các giá trị trùng lặp. Điều đó có nghĩa là Một khóa không thể chứa nhiều hơn 1 giá trị nhưng nhiều hơn 1 khóa có thể chứa một giá trị.

  • HashMap chỉ cho phép khóa null nhưng nhiều giá trị null có thể được sử dụng.

  • Lớp này không đảm bảo về thứ tự của bản đồ nói riêng, nó không đảm bảo rằng thứ tự sẽ không đổi theo thời gian. Nó gần giống với Hash Table nhưng không được đồng bộ hóa.

Bây giờ bạn đã biết Hashmap là gì và các tính năng khác nhau của nó, hãy tiến xa hơn và hiểu hiệu suất của Java Hashmap.

Hiệu suất của Java HashMap

Hiệu suất chủ yếu phụ thuộc vào 2 thông số:

  1. Công suất ban đầu : Dung lượng chỉ đơn giản là số lượng nhóm trong khi Công suất ban đầu là dung lượng của cá thể HashMap khi nó được tạo.
  2. Hệ số tải: Các Hệ số tải là một biện pháp mà khi băm lại nên được thực hiện. Rehashing là một quá trình tăng dung lượng. Trong HashMap dung lượng được nhân với 2. Hệ số tải cũng là một thước đo để quyết định phần nào của HashMap được phép lấp đầy trước khi băm lại. Khi số lượng mục nhập trong HashMap tăng lên, tích của dung lượng hiện tại và công suất Hệ số tải cũng tăng lên. Điều đó có nghĩa là quá trình băm đã được thực hiện.

Ghi chú :Nếu dung lượng ban đầu được giữ cao hơn thì việc băm lại sẽ không bao giờ được thực hiện. Nhưng bằng cách giữ nó cao hơn, nó làm tăng độ phức tạp về thời gian của việc lặp lại. Vì vậy nó cần được lựa chọn thật khéo léo để tăng hiệu suất. Cần tính đến số lượng giá trị dự kiến ​​để thiết lập dung lượng ban đầu. Giá trị hệ số tải thường được ưa thích nhất là 0,75, cung cấp một thỏa thuận tốt giữa chi phí thời gian và không gian. Giá trị của hệ số tải thay đổi từ 0 đến 1.

Trình tạo trong HashMap

HashMap cung cấp bốn người xây dựngtruy cập chỉnh sửa của mỗi người trong số họ là công khai:

Người xây dựng Sự miêu tả
1. HashMap () Nó là hàm tạo mặc định tạo ra một phiên bản HashMap với dung lượng ban đầu là 16 và hệ số tải 0,75.
2. HashMap (int dung lượng ban đầu) Điều này được sử dụng để tạo một phiên bản HashMap với dung lượng ban đầu được chỉ định và hệ số tải 0,75
3. HashMap (dung lượng ban đầu int, hệ số tải float) Nó tạo ra một cá thể HashMap với dung lượng ban đầu được chỉ định và hệ số tải được chỉ định.
4. HashMap (Bản đồ bản đồ) Nó tạo ra một thể hiện của HashMap với các ánh xạ giống như một bản đồ được chỉ định.

Với điều này, bây giờ hãy xem cách triển khai HashMap trong Java .

Triển khai HashMap

Chương trình dưới đây minh họa cách triển khai HashMap trong Java.

java sự khác biệt giữa hashmap và hashtable
gói Edureka // Chương trình Java để minh họa //Java.util.HashMap import java.util.HashMap import java.util.Map public class Hashmap {public static void main (String [] args) {HashMa map = new HashMap () print (map) map.put ('abc', 10) map.put ('mno', 30) map.put ('xyz', 20) System.out.println ('Kích thước bản đồ là' + map.size ( )) print (map) if (map.containsKey ('mno')) {Integer a = map.get ('mno') System.out.println ('giá trị cho key ' mno  'là: -' + a )} map.clear () print (map)} public static void print (Bản đồ bản đồ) {if (map.isEmpty ()) {System.out.println ('bản đồ trống')} else {System.out.println (bản đồ) } } }

Khi thực hiện chương trình HashMap, đầu ra như sau:

bản đồ trống Kích thước bản đồ là: - 3 {abc = 10, xyz = 20, mno = 30} giá trị cho khóa 'abc' là: - 10 bản đồ trống

Vì vậy, điều này đưa chúng ta đến phần cuối của Bài báo HashMap. Tôi hy vọng bạn thấy nó có nhiều thông tin và giúp bạn hiểu được các Nguyên tắc cơ bản.

Kiểm tra của Edureka, một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Chúng tôi ở đây để giúp bạn từng bước trên hành trình của bạn, để trở thành một người ngoài câu hỏi phỏng vấn java này, chúng tôi còn đưa ra một chương trình giảng dạy được thiết kế cho sinh viên và các chuyên gia muốn trở thành một Nhà phát triển Java. Khóa học được thiết kế để cung cấp cho bạn khởi đầu về lập trình Java và đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của “Java HashMap ' bài báo và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.