Sự khác biệt giữa TreeSet và TreeMap

Sự khác biệt chính - Cây vs Bản đồ cây
 

Một mảng được sử dụng để lưu trữ một tập hợp các phần tử dữ liệu cùng loại. Hầu hết các ngôn ngữ lập trình đều hỗ trợ Mảng. Mặc dù một mảng có thể lưu trữ nhiều giá trị; có một bất lợi lớn. Một khi mảng được tạo, không thể thay đổi nó. Nếu lập trình viên khai báo một mảng gồm 10 phần tử, thì anh ta không thể lưu trữ 15 phần tử. Khi lập trình viên khai báo một mảng gồm 10 phần tử và chỉ lưu trữ 5 phần tử, phần còn lại của bộ nhớ được phân bổ là một sự lãng phí. Các ngôn ngữ lập trình như Java có Bộ sưu tập để lưu trữ các phần tử dữ liệu một cách linh hoạt. Có một số bộ sưu tập. Bộ sưu tập giúp thực hiện thêm, loại bỏ các yếu tố và các hoạt động khác. Giao diện cơ sở được gọi là Bộ sưu tập. Set, List và Queue là một số giao diện mở rộng giao diện Collection. Bản đồ là một giao diện của hệ thống phân cấp bộ sưu tập, nhưng nó không mở rộng giao diện Bộ sưu tập.  TreeSet là một lớp thực hiện giao diện Set và lưu trữ các phần tử theo thứ tự tăng dần. TreeMap là một lớp thực hiện giao diện Bản đồ và lưu trữ các cặp khóa, giá trị theo thứ tự tăng dần. Đó là sự khác biệt chính. Bài viết này thảo luận về sự khác biệt giữa TreeSet và TreeMap.

NỘI DUNG

1. Tổng quan và sự khác biệt chính
2. TreeSet là gì
3. Bản đồ cây là gì
4. Điểm tương đồng giữa TreeSet và TreeMap
5. So sánh cạnh nhau - TreeSet vs TreeMap ở dạng bảng
6. Tóm tắt

Treeset là gì?

TreeSet là một lớp thực hiện giao diện Set. Các TreeSet duy trì các yếu tố độc đáo. Treeset thực hiện giao diện Navigableset. Giao diện điều hướng mở rộng các giao diện Sắp xếp, Bộ, Bộ sưu tập và Lặp lại theo thứ tự phân cấp. Treeset lưu trữ các yếu tố theo thứ tự tăng dần. Nếu thứ tự chèn là A, C, B, TreeSet sẽ lưu trữ chúng dưới dạng A, B, C. Có các phương pháp của Treset. Phương thức add được sử dụng để thêm một phần tử vào Set. Phương thức remove được sử dụng để loại bỏ một phần tử đã chỉ định. Phương pháp rõ ràng được sử dụng để loại bỏ tất cả các yếu tố. Phương thức chứa trả về giá trị true nếu phần tử đã chỉ định có trong Tập hợp. Chúng là một số phương thức được cung cấp bởi Treeset. Tham khảo chương trình dưới đây.

Hình 01: Chương trình sử dụng Treeset

Theo chương trình trên, Plantset là một đối tượng của kiểu Plantset. Nó có thể lưu trữ Chuỗi. Các yếu tố được thêm vào bằng cách sử dụng phương thức add. Thứ tự chèn là A, C, D và B. Sử dụng trình vòng lặp, các giá trị được lưu trữ sẽ được in ra màn hình. Các phần tử được lưu trữ theo thứ tự A, B, C, D. Do đó, TreeSet duy trì thứ tự tăng dần của các thành phần của Tập hợp. Nếu có một phần tử khác là tên Diên thì nó sẽ không in vì phần tử D đã tồn tại trong Bộ. Nó luôn lưu trữ các yếu tố độc đáo.

Bản đồ cây là gì?

TreeMap là một lớp thực hiện giao diện Bản đồ. Bản đồ hỗ trợ các cặp khóa-giá trị. Mỗi khóa, cặp giá trị là một mục. Mỗi khóa là duy nhất và có một giá trị tương ứng. Phương thức chứaKeyKey được sử dụng để tìm một khóa cụ thể trong khi phương thức chứaValue được sử dụng để tìm một giá trị cụ thể. Phương thức get được sử dụng để tìm giá trị tương ứng với khóa đã cho. Phương thức put được sử dụng để lưu trữ một giá trị với khóa đã cho. Cũng có thể loại bỏ một phần tử tại một khóa cụ thể bằng phương thức remove. Đó là một số phương pháp phổ biến của giao diện Bản đồ. Nó giúp tìm kiếm, chèn và xóa các yếu tố dựa trên khóa. Lớp TreeMap thực hiện NavigableMap. NavigableMap mở rộng SortedMap. Bản đồ sắp xếp mở rộng Bản đồ. Do đó, các phương thức của Map có thể được sử dụng với TreeMap. Tham khảo chương trình dưới đây.

Hình 02: Chương trình sử dụng TreeMap

Theo chương trình trên, một đối tượng của TreeMap được tạo. Lập trình viên có thể thêm các yếu tố bằng cách sử dụng đối tượng. Phương thức put được sử dụng để chèn khóa, cặp giá trị. Phương thức get được sử dụng với khóa cụ thể để tìm nạp các phần tử. Lập trình viên có thể sử dụng Map.Entry để in tất cả các khóa và giá trị. Khi quan sát đầu ra, nó không duy trì thứ tự chèn. Nó lưu trữ các yếu tố theo thứ tự tăng dần.

Điểm giống nhau giữa TreeSet và TreeMap là gì?

  • Cả TreeSet và TreeMap đều nằm trong hệ thống phân cấp bộ sưu tập.
  • Cả TreeSet và TreeMap đều duy trì thứ tự tăng dần.
  • Cả TreeSet và TreeMap đều có thể lưu trữ và thao tác nhiều yếu tố.

Sự khác biệt giữa TreeSet và TreeMap là gì?

TreeSet vs TreeMap

TreeSet là một lớp thực hiện giao diện Set và lưu trữ các phần tử theo thứ tự tăng dần. TreeMap là một lớp thực hiện giao diện Bản đồ và lưu trữ các cặp khóa, giá trị theo thứ tự tăng dần.
 Giao diện đã triển khai
Giao diện cây cài đặt. TreeMap thực hiện giao diện Bản đồ.

Tóm tắt - TreeSet vs Bản đồ cây

Một mảng được sử dụng để lưu trữ một tập hợp các phần tử, nhưng nó không giúp lưu trữ các phần tử một cách linh hoạt. Các ngôn ngữ lập trình như Java chứa Bộ sưu tập để lưu trữ các phần tử dữ liệu một cách linh hoạt. Bộ sưu tập là lớp cơ sở trong hệ thống phân cấp bộ sưu tập. Nó bao gồm các lớp và giao diện để thực hiện các hoạt động như thêm, xóa các phần tử. Set và Map là hai giao diện của hệ thống phân cấp Collection. TreeSet là một lớp thực hiện giao diện Set và lưu trữ các phần tử theo thứ tự tăng dần. TreeMap là một lớp thực hiện giao diện Bản đồ và lưu trữ các cặp khóa, giá trị theo thứ tự tăng dần. Đó là sự khác biệt giữa TreeSet và TreeMap.

Tài liệu tham khảo:

1. Bộ dữ liệu trong Java - javatpoint. , Điểm Java. Có sẵn ở đây
2. Bản đồ Tree Tree trong Java - javatpoint., Điểm Java. Có sẵn ở đây