扫码一下
查看教程更方便
继承于 Map,使 Key 保持在升序排列。
当调用映射中没有项目时,有几个方法会抛出 NoSuchElementException。 当对象与 Map 中的元素不兼容时,将引发 ClassCastException。 如果在 Map 中不允许 null 时尝试使用 null 对象,则会引发 NullPointerException。
SortedMap 声明的方法总结如下表
序号 | 方法 | 描述 |
---|---|---|
1 | Comparator comparator( ) | 返回调用 Sorted Map 的比较器。 如果调用 Map 使用自然排序,则返回 null。 |
2 | Object firstKey( ) | 返回调用 Map 中的第一个键。 |
3 | SortedMap headMap(Object end) | 为那些键小于 end 的 Map 条目返回一个排序的 Map。 |
4 | Object lastKey( ) | 返回调用 Map 中的最后一个键。 |
5 | SortedMap subMap(Object start, Object end) | 返回一个Map,其中包含具有大于或等于 start 且小于 end 的键的条目。 |
6 | SortedMap tailMap(Object start) | 返回一个 Map,其中包含具有大于或等于 start 的键的条目。 |
SortedMap 在 TreeMap 等各种类中都有实现。 以下是解释 SortedMap 功能的示例
import java.util.*; public class TreeMapDemo { public static void main(String args[]) { // Create a hash map TreeMap tm = new TreeMap(); // Put elements to the 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)); Set set = tm.entrySet(); Iterator i = set.iterator(); while(i.hasNext()) { Map.Entry me = (Map.Entry)i.next(); System.out.print(me.getKey() + ": "); System.out.println(me.getValue()); } System.out.println(); double balance = ((Double)tm.get("Zara")).doubleValue(); tm.put("Zara", new Double(balance + 1000)); System.out.println("Zara's new balance: " + tm.get("Zara")); } }
上面示例编译运行如下所示
Ayan: 1378.0
Daisy: 99.22
Mahnaz: 123.22
Qadir: -19.08
Zara: 3434.34
Zara's new balance: 4434.34