Trong bài đăng này, chúng ta sẽ hiểu sự khác biệt giữa hashmap và treemap, được liên kết với Java.
HashMap
-
Nó là một bảng băm trong Java.
-
Nó dựa trên việc triển khai giao diện 'bản đồ'.
-
Nó triển khai các giao diện ‘Bản đồ,‘ Có thể sao chép ’và‘ Có thể nối tiếp hóa ’.
-
Nó cho phép một khóa null.
-
Nó cũng cho phép nhiều giá trị rỗng.
-
Nó nhanh hơn so với Treemap.
-
Điều này là do nó cung cấp các hiệu suất thời gian không đổi, tức là O (1) cho các hoạt động như "get" và "put".
-
Nó không thực hiện phân loại trên các khóa.
-
Do đó, nó cho phép các phần tử không đồng nhất trong HashMap.
-
Nó không duy trì thứ tự của các phần tử.
-
Nó có thể được sử dụng khi KHÔNG cần cặp khóa-giá trị theo thứ tự đã sắp xếp.
-
Nó sử dụng phương thức ‘bằng’ của lớp Đối tượng để so sánh các khóa.
-
Phương thức ‘bằng’ của lớp Bản đồ ghi đè nó.
-
Nó chỉ chứa các phương thức cơ bản như ‘KeySet’, ‘get’, ‘put’.
Bản đồ cây
-
Nó là một cấu trúc cây được sử dụng trong Java.
-
Nó dựa trên việc triển khai giao diện 'bản đồ'.
-
Nó triển khai ‘NavigableMap’, ‘Cloneable’ và giao diện ‘Serializable’.
-
Nó không cho phép các khóa rỗng.
-
Nó cho phép nhiều giá trị rỗng.
-
Nó cho phép các giá trị đồng nhất như một khóa vì nó được sắp xếp.
-
Nó chậm hơn so với HashMap vì nó cung cấp độ phức tạp O (log (n)) cho hầu hết các hoạt động như add (), remove () và chứa ().
-
Nó sử dụng cây Đỏ-Đen bên trong.
-
Cây đỏ đen là Cây tìm kiếm nhị phân tự cân bằng.
-
Phương thức CompareTo () được sử dụng để so sánh các khóa.
-
Nó có nhiều chức năng, chẳng hạn như tailMap (), firstKey (), lastKey (), thăm dò ý kiếnFirstEntry (), thăm dò ý kiến ().
-
Các phần tử được sắp xếp theo thứ tự tăng dần, còn được gọi là thứ tự tự nhiên.
-
Nó được sử dụng khi yêu cầu là một cặp khóa-giá trị theo thứ tự được sắp xếp.