Cây JavaBộ

Cay Javabo



TreeSet được coi là một trong những triển khai SortedSet cơ bản nhất sử dụng Cây làm loại lưu trữ chính. Trong TreeSet, mọi giá trị được lưu trữ theo trình tự đã sắp xếp. Theo mặc định, tất cả các giá trị số được giữ lại theo thứ tự tăng dần và các chuỗi được xử lý theo thứ tự dựa trên từ điển. TreeSet duy trì thứ tự tăng dần và dựa trên từ điển cho dù so sánh có được chỉ định hay không. Để triển khai đúng giao diện Set, TreeSet phải nhất quán với so sánh được. Hơn nữa, các giá trị null không được chấp nhận trong TreeSet.

ví dụ 1

Phương thức add() được yêu cầu để thêm các phần tử bên trong TreeSet. Phần tử được chỉ định sẽ được thêm vào bằng cách sử dụng trình tự sắp xếp giống như khi TreeSet được tạo. Nó sẽ không thêm các mục trùng lặp.









Bên trong đoạn mã trước, chúng ta đã chèn lớp tiện ích của Java để truy cập các lớp và phương thức của Java. Tiếp theo, Phương thức main() được đính kèm trong định nghĩa của lớp “CreatingTreeSet”. Chúng tôi đã kiểm tra mã TreeSet bên trong phương thức main(). Đầu tiên, chúng ta đã tạo một biến “person” từ lớp TreeSet và đặt giao diện TreeSet trống trong biến đã khai báo “persons”.



Lưu ý rằng chúng tôi chỉ thêm các phần tử chuỗi vì kiểu dữ liệu của TreeSet được chỉ định tại thời điểm tạo giao diện của nó. Chúng tôi đã chèn năm phần tử chuỗi vào TreeSet, trong đó mỗi phần tử chuỗi là duy nhất. Sau đó, chúng tôi duyệt qua từng phần tử của TreeSet từ phương thức iterator(), phương thức này sẽ được in theo thứ tự tăng dần trên màn hình đầu ra.





Các phần tử được tạo bằng giao diện TreeSet được tìm nạp dưới dạng đầu ra trên snap đầu ra sau:



ví dụ 2

Sau khi tạo TreeSet, các phần tử có thể được truy cập bằng phương thức tích hợp được TreeSet hỗ trợ. Phương thức chứa() kiểm tra phần tử cụ thể trong TreeSet. Phương thức first() truy xuất phần tử ban đầu của TreeSet, trong khi phương thức last() truy xuất phần tử kết thúc của TreeSet.

Sau khi nhập lớp tiện ích, chúng tôi đã định nghĩa một lớp “AccessingTreeSet”. Tiếp theo, chúng tôi đã triển khai phương thức main() trong lớp Java đã chỉ định để truy cập các phần tử TreeSet. Chúng ta đã khai báo một đối tượng “Colors” thuộc loại NavigableSet với tham chiếu đến lớp TreeSet. TreeSet() trống, được thêm vào với các giá trị chuỗi bằng cách gọi phương thức add(). Ở đây, chúng tôi đã thêm ba giá trị chuỗi, tên của các màu khác nhau. Sau đó, các giá trị của TreeSet sẽ được hiển thị trên màn hình thông qua câu lệnh in. Tiếp theo, chúng tôi đã tạo một biến 'tìm' nơi chuỗi được khởi tạo để kiểm tra. Để kiểm tra xem chuỗi có tồn tại trong Cây được cung cấp hay không, chúng tôi đã gọi phương thức chứa () và thêm biến “tìm” làm tham số. Phương thức Contains() xác minh sự tồn tại của phần tử chuỗi đã chỉ định từ TreeSet và tạo kết quả Boolean. Hơn nữa, chúng ta cũng đã nhận được phần tử đầu tiên và phần tử cuối cùng trong TreeSet từ phương thức first() và phương thức last(). Cả hai phương thức đều tạo ra phần tử cụ thể được đặt ở vị trí đầu tiên và cuối cùng trong TreeSet được cung cấp.

Việc kiểm tra chuỗi cụ thể từ phương thức chứa() trả về giá trị thực, cho thấy phần tử chuỗi là một phần của phương thức chứa(). Tiếp theo, giá trị đầu tiên và giá trị cuối cùng của TreeSet cũng được hiển thị bên dưới:

ví dụ 3

Phần tử đầu tiên và cuối cùng đã được truy cập trong ví dụ trước. Để truy cập và loại bỏ các phần tử cao nhất và thấp nhất, phương thức pollFirst() và pollLast() được sử dụng. Phương thức pollFirst() được sử dụng để truy xuất và loại bỏ phần tử thấp nhất khỏi phần tử đầu tiên. Phương thức pollLast() được áp dụng để xác định vị trí và loại bỏ phần tử cao nhất khỏi phần tử cuối cùng của TreeSet.

Chương trình được thiết lập với lớp Java “LowerAndHigherValueFromTreeSet” trong đó phương thức main() được xây dựng. Ở đây, chúng tôi đã cung cấp giao diện TreeSet từ lớp TreeSet bằng cách khai báo đối tượng “IntegerSet”. Ban đầu, chúng tôi đã tạo một TreeSet trống có thể được thêm phần tử bằng cách sử dụng phương thức add(). Các mục Số nguyên được tải vào TreeSet bằng phương thức add().

Sau đó, chúng ta đưa ra một câu lệnh in bằng cách sử dụng phương thức pollFirst() và pollLast(). Phương thức pollFirst() lấy các phần tử thấp nhất đầu tiên từ TreeSet đã chỉ định. Mặt khác, phương thức pollLast() lấy phần tử cao nhất từ ​​phần tử cuối cùng của TreeSet.

Kết quả thu được từ các phương thức pollFirst() và pollLast() hiển thị phần tử thấp nhất và cao nhất từ ​​TreeSet ở đầu ra.

Ví dụ 4

Phương thức clear() được sử dụng để xóa tất cả các phần tử có trong TreeSet. TreeSet trống được trả về sau khi phương thức clear() được triển khai trên TreeSet.

Lớp công khai “ClearTreeSet” được thiết lập với phương thức main() trong chương trình trước đó. Chúng tôi đã tạo TreeSet trống ở đó, được đặt trong biến lớp TreeSet “SetElements”. Sau đó, chúng tôi đã chèn các số ngẫu nhiên với sự trợ giúp của phương thức add() bên trong TreeSet. Tiếp theo, chúng tôi đã in TreeSet để hiển thị các phần tử bên trong nó. Sau khi hiển thị, chúng ta đã sử dụng phương thức clear() để xóa TreeSet.

Ví dụ 5

TreeSet sẽ không cho phép bổ sung các phần tử không đồng nhất. Nếu chúng ta cố gắng thêm các đối tượng không đồng nhất của lớp, “classCastException” sẽ bị ném trong thời gian chạy. treeSet chỉ chấp nhận các đối tượng đồng nhất và có thể so sánh được.

Chúng tôi đã triển khai phương thức main() trong lớp Java “HeterogenousObjectTreeSet” nơi chúng tôi đã đặt giao diện TreeSet. TreeSet được định nghĩa trong đối tượng “CharSet”. Các phần tử sau đó được thêm vào đối tượng “CharSet” của TreeSet. Chúng tôi đã chèn các phần tử có thể so sánh với giao diện StringBuffer. Lưu ý rằng phần tử cuối cùng bên trong TreeSet không đồng nhất, là một giá trị số nguyên. Sau đó, ta in các phần tử của TreeSet để lấy kết quả truy xuất phần tử không đồng nhất.

Kết quả cho thấy giá trị chỉ số đầu tiên của TreeSet không được hiển thị, nhưng tất cả các thành phần ký tự được hiển thị trên màn hình do các đối tượng so sánh.

Sự kết luận

Lớp Java TreeSet chỉ bao gồm các phần tử đặc biệt như HashSet. TreeSet là cách tối ưu để lưu trữ số lượng lớn dữ liệu có liên quan nhờ khả năng truy cập và thời lượng truy xuất nhanh chóng, tạo điều kiện khám phá dữ liệu nhanh chóng. Tài liệu bao gồm các nguyên tắc cơ bản của lớp TreeSet, bao gồm cả khai báo của nó. Ngoài ra, các phương pháp và hoạt động khác nhau cũng được thảo luận ở đây.