Lớp TreeMap trong Java
triển khai Map Interface bởi sử dụng một tree. Một TreeMap cung cấp các phương thức hiệu quả để lưu giữ các cặp key/value trong thứ tự được sắp xếp, và cho phép thu hồi nhanh chóng. Bạn nên chú ý rằng, không giống một hash map, một tree map bảo đảm rằng các phần tử của nó sẽ ...
triển khai Map Interface bởi sử dụng một tree. Một TreeMap cung cấp các phương thức hiệu quả để lưu giữ các cặp key/value trong thứ tự được sắp xếp, và cho phép thu hồi nhanh chóng.
Bạn nên chú ý rằng, không giống một hash map, một tree map bảo đảm rằng các phần tử của nó sẽ được xếp thứ tự theo thứ tự key tăng dần.
Để hiểu sâu hơn các khái niệm được trình bày trong chương này, mời bạn tham khảo loạt bài: .
hỗ trợ 4 constructor. Mẫu đầu tiên xây dựng một tree map trống mà sẽ được xếp thứ tự bởi sử dụng thứ tự tự nhiên cho các key.
TreeMap( )
Constructor thứ hai xây dựng một tree map trống mà sẽ được xếp thứ tự bởi sử dụng Comparator comp:
TreeMap(Comparator comp)
Constructor thứ ba khởi tạo một tree map với các entry từ m, mà sẽ được xếp thứ tự tự nhiên các key của nó.
TreeMap(Map m)
Constructor thứ 4 khởi tạo một tree map với các entry từ m, mà sẽ được xếp thứ tự giống như sm:
TreeMap(SortedMap sm)
Ngoài các phương thức được hỗ trợ bởi các lớp cha, lớp TreeMap cũng định nghĩa các phương thức sau:
STT | Phương thức và Miêu tả |
---|---|
1 | void clear()
Gỡ bỏ tất cả ánh xạ (mapping) từ TreeMap này |
2 | Object clone()
Trả về một shallow copy của TreeMap này |
3 | Comparator comparator()
Trả về comparator được sử dụng để xếp thứ tự map này, hoặc trả về null nếu map này sử dụng cách sắp xếp theo thứ tự tự nhiên các key của nó |
4 | boolean containsKey(Object key)
Trả về true nếu map này chứa một ánh xạ cho key đã xác định |
5 | boolean containsValue(Object value)
Trả về true nếu map này so khớp một hoặc nhiều key tới value đã cho |
6 | Set entrySet()
Trả về một tập hợp các ánh xạ được chứa trong map này |
7 | Object firstKey()
Trả về key đầu tiên (thấp nhất) trong sorted map này |
8 | Object get(Object key)
Trả về value từ đó map này so khớp với key đã cho |
9 | SortedMap headMap(Object toKey)
Trả về một phần map này có các key nhỏ hơn toKey |
10 | Set keySet()
Trả về một Set các key được chứa trong map này |
11 | Object lastKey()
Trả về key cuối cùng (cao nhất) trong sorted map này |
12 | Object put(Object key, Object value)
Liên kết value đã cho với key đã xác định trong map này |
13 | void putAll(Map map)
Sao chép tất cả ánh xạ từ map đã cho tới map này |
14 | Object remove(Object key)
Gỡ bỏ ánh xạ cho key này từ TreeMap nếu có mặt |
15 | int size()
Trả về số ánh xạ key-value trong map này |
16 | SortedMap subMap(Object fromKey, Object toKey)
Trả về một phần map này mà có các key từ fromKey tới toKey |
17 | SortedMap tailMap(Object fromKey)
Trả về một phần map này mà có key lớn hơn hoặc bằng fromKey |
18 | Collection values()
Trả về một tập hợp các value được chứa trong map này |
Ví dụ
Chương trình sau minh họa các phương thức được hỗ trợ bởi lớp TreeMap trong Java:
import java.util.*; public class TreeMapDemo { public static void main(String args[]) { // Tao mot hash map TreeMap tm = new TreeMap(); // Dat cac phan tu vao map tm.put("Zara", new Double(3434.34)); tm.put("Mahnaz", new Double(123.22)); tm.put("Ayan", new Double(1378.00)); tm.put("Daisy", new Double(99.22)); tm.put("Qadir", new Double(-19.08)); // Lay mot tap hop cac entry Set set = tm.entrySet(); // Lay mot iterator Iterator i = set.iterator(); // Hien thi cac phan tu while(i.hasNext()) { Map.Entry me = (Map.Entry)i.next(); System.out.print(me.getKey() + ": "); System.out.println(me.getValue()); } System.out.println(); // Gui 1000 vao trong tai khoan cua Zara double balance = ((Double)tm.get("Zara")).doubleValue(); tm.put("Zara", new Double(balance + 1000)); System.out.println("Balance hien tai cua Zara la: " + tm.get("Zara")); } }
Nó sẽ cho kết quả sau:
Ayan: 1378.0 Daisy 99.22 Mahnaz: 123.22 Qadir: -19.08 Zara: 3434.34 Balance hien tai cua Zara la: 4434.34
Mọi người cho thể tham gia khóa học thứ 6 của vietjackteam (đang tuyển sinh) vào đầu tháng 03/2018 do anh Nguyễn Thanh Tuyền, admin vietjack.com trực tiếp giảng dạy tại Hà Nội. Chi tiết nội dung khóa học tham khỏa link : .Các bạn học CNTT, điện tử viễn thông, đa phương tiện, điện-điện tử, toán tin có thể theo học khóa này. Số lượng các công việc Java hoặc .NET luôn gấp ít nhất 3 lần Android hoặc iOS trên thị trường tuyển dụng.
Các bạn ở xa học không có điều kiện thời gian có thể tham dự khóa Java online để chủ động cho việc học tập. Trong tháng 4/2018, VietJack khuyến mại giá SỐC chỉ còn 150k cho khóa học, liên hệ facebook admin fb.com/tuyen.vietjack để thanh toán chuyển khoản hoặc thẻ điện thoại, khóa học bằng Tiếng Việt với gần 100 video, các bạn có thể chủ động bất cứ lúc nào, và xem mãi mãi. Thông tin khóa học tại . Khóa học có rating 4.7/5 trên udemy từ nhận xét của các bạn học viên.
Mọi người có thể xem demo nội dung khóa học tại địa chỉ
Loạt bài hướng dẫn của chúng tôi dựa một phần trên nguồn tài liệu của: Tutorialspoint.com
Follow fanpage của team hoặc facebook cá nhân Nguyễn Thanh Tuyền để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.
Bài học Java phổ biến tại vietjack.com: