SortedMap Interface trong Java



SortedMap Interface trong Java kế thừa lớp Map. Nó bảo đảm rằng các entry được duy trì theo thứ tự key tăng dần.

Một số phương thức ném NoSuchElementException khi không có item nào trong map đang gọi. Một ClassCastException được ném khi một đối tượng là không tương thích với các phần tử trong một map. Một NullPointerException bị ném nếu cố gắng sử dụng một đối tượng null khi null không được phép trong map.

Để 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: Ví dụ về Collection trong Java.

Các phương thức được khai báo bởi SortedMap trong Java được liệt kê trong bảng sau:

STT Phương thức và Miêu tả
1 Comparator comparator( )

Trả về bộ so sánh của SortedMap đang gọi. Nếu thứ tự tự nhiên được sử dụng cho map đang gọi, thì null được trả về

2 Object firstKey( )

Trả về key đầu tiên trong map đang gọi

3 SortedMap headMap(Object end)

Trả về một sorted map cho các map entry này với các key mà nhỏ hơn end

4 Object lastKey( )

Trả về key cuối cùng trong map đang gọi này

5 SortedMap subMap(Object start, Object end)

Trả về một map chứa các entry của nó với các key là lớn hơn hoặc bằng start và nhỏ hơn end

6 SortedMap tailMap(Object start)

Trả về một map chứa các entry của nó với các key là lớn hơn hoặc bằng start

Ví dụ

SortedMap Interface trong Java có sự triển khai trong các lớp đa dạng tương tự như TreeMap. Ví dụ sau minh họa tính năng của SortedMap Interface 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 trong 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 set 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ứ 5 của vietjackteam vào 08/12/2017 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 : Khóa học Java.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. Nhân dịp tháng mua sắm cuối năm, trong tháng 12/2017, giá khóa học chỉ còn 300k, 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 Java Online trên Udemy. 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ỉ Video demo khóa học Offline

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 https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để 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.


collection_trong_java.jsp