TreeMap實作Map介面與SortedMap介面,提供相關的方法讓您有序的取出對應位置的物件,像是
firstKey()、lastKey()等方法,TreeMap是J2SE中唯一實作SortedMap介面的類別,它使用紅黑樹結構來對加入的物件進
行排序。
看個簡單的例子:
package onlyfun.caterpillar;
import java.util.*;
public class TreeMapDemo { public static void main(String[] args) { Map<String, String> map = new TreeMap<String, String>(); map.put("justin", "justin's message!!"); map.put("momor", "momor's message!!"); map.put("caterpillar", "caterpillar's message!!"); Collection collection = map.values(); Iterator iterator = collection.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); } } }
由於您加入的是String物件,執行結果會自動依key的字典順序進行排序的動作:
caterpillar's message!!
justin's message!!
momor's message!!
|
依字典順序排序String物件是TreeMap預設的,如果您對物件有自己的一套排序順序,您要實作一個 Comparator 物件,它有兩個必須實作的方法,compare()與equals(),前者必須傳回整數值,如果物件順序相同則傳回0,傳回正整數表示compare ()方法的第一個物件大於第二個物件,反之則傳回負整數,後者則是定義兩個物件是否相等。
|
|