40節介紹了hashmap,我們提到,hashmap有一個重要局限,鍵值對之間沒有特定的順序,我們還提到,map接口有另一個重要的實現類treemap,在treemap中,鍵值對之間按鍵有序,treemap的實現基礎是排序二叉樹,上節我們介紹了排序二叉樹的基本概念和算法,本節我們來詳細討論treemap。
除了map接口,因為有序,treemap還實現了更多接口和方法,下麵,我們先來看treemap的用法,然後探討其內部實現。
第一個為默認構造方法,如果使用默認構造方法,要求map中的鍵實現comparabe接口,treemap內部進行各種比較時會調用鍵的comparable接口中的compareto方法。
第二個接受一個比較器對象comparator,如果comparator不為null,在treemap內部進行比較時會調用這個comparator的compare方法,而不再調用鍵的compareto方法,也不再要求鍵實現comparable接口。
應該用哪一個呢?第一個更為簡單,但要求鍵實現comparable接口,且期望的排序和鍵的比較結果是一致的,第二個更為靈活,不要求鍵實現comparable接口,比較器可以用靈活複雜的方式進行實現。
需要強調的是,treemap是按鍵而不是按值有序,無論哪一種,都是對鍵而非值進行比較。
40節介紹了hashmap,我們提到,hashmap有一個重要局限,鍵值對之間沒有特定的順序,我們還提到,map接口有另一個重要的實現類treemap,在treemap中,鍵值對之間按鍵有序,treemap的實現基礎是排序二叉樹,上節我們介紹了排序二叉樹的基本概念和算法,本節我們來詳細討論treemap。
除了map接口,因為有序,treemap還實現了更多接口和方法,下麵,我們先來看treemap的用法,然後探討其內部實現。
第一個為默認構造方法,如果使用默認構造方法,要求map中的鍵實現comparabe接口,treemap內部進行各種比較時會調用鍵的comparable接口中的compareto方法。
第二個接受一個比較器對象comparator,如果comparator不為null,在treemap內部進行比較時會調用這個comparator的compare方法,而不再調用鍵的compareto方法,也不再要求鍵實現comparable接口。
應該用哪一個呢?第一個更為簡單,但要求鍵實現comparable接口,且期望的排序和鍵的比較結果是一致的,第二個更為靈活,不要求鍵實現comparable接口,比較器可以用靈活複雜的方式進行實現。
需要強調的是,treemap是按鍵而不是按值有序,無論哪一種,都是對鍵而非值進行比較。
40節介紹了hashmap,我們提到,hashmap有一個重要局限,鍵值對之間沒有特定的順序,我們還提到,map接口有另一個重要的實現類treemap,在treemap中,鍵值對之間按鍵有序,treemap的實現基礎是排序二叉樹,上節我們介紹了排序二叉樹的基本概念和算法,本節我們來詳細討論treemap。
除了map接口,因為有序,treemap還實現了更多接口和方法,下麵,我們先來看treemap的用法,然後探討其內部實現。
第一個為默認構造方法,如果使用默認構造方法,要求map中的鍵實現comparabe接口,treemap內部進行各種比較時會調用鍵的comparable接口中的compareto方法。
第二個接受一個比較器對象comparator,如果comparator不為null,在treemap內部進行比較時會調用這個comparator的compare方法,而不再調用鍵的compareto方法,也不再要求鍵實現comparable接口。
應該用哪一個呢?第一個更為簡單,但要求鍵實現comparable接口,且期望的排序和鍵的比較結果是一致的,第二個更為靈活,不要求鍵實現comparable接口,比較器可以用靈活複雜的方式進行實現。
需要強調的是,treemap是按鍵而不是按值有序,無論哪一種,都是對鍵而非值進行比較。
40節介紹了hashmap,我們提到,hashmap有一個重要局限,鍵值對之間沒有特定的順序,我們還提到,map接口有另一個重要的實現類treemap,在treemap中,鍵值對之間按鍵有序,treemap的實現基礎是排序二叉樹,上節我們介紹了排序二叉樹的基本概念和算法,本節我們來詳細討論treemap。
除了map接口,因為有序,treemap還實現了更多接口和方法,下麵,我們先來看treemap的用法,然後探討其內部實現。
第一個為默認構造方法,如果使用默認構造方法,要求map中的鍵實現comparabe接口,treemap內部進行各種比較時會調用鍵的comparable接口中的compareto方法。
第二個接受一個比較器對象comparator,如果comparator不為null,在treemap內部進行比較時會調用這個comparator的compare方法,而不再調用鍵的compareto方法,也不再要求鍵實現comparable接口。
應該用哪一個呢?第一個更為簡單,但要求鍵實現comparable接口,且期望的排序和鍵的比較結果是一致的,第二個更為靈活,不要求鍵實現comparable接口,比較器可以用靈活複雜的方式進行實現。
需要強調的是,treemap是按鍵而不是按值有序,無論哪一種,都是對鍵而非值進行比較。
40節介紹了hashmap,我們提到,hashmap有一個重要局限,鍵值對之間沒有特定的順序,我們還提到,map接口有另一個重要的實現類treemap,在treemap中,鍵值對之間按鍵有序,treemap的實現基礎是排序二叉樹,上節我們介紹了排序二叉樹的基本概念和算法,本節我們來詳細討論treemap。
除了map接口,因為有序,treemap還實現了更多接口和方法,下麵,我們先來看treemap的用法,然後探討其內部實現。
第一個為默認構造方法,如果使用默認構造方法,要求map中的鍵實現comparabe接口,treemap內部進行各種比較時會調用鍵的comparable接口中的compareto方法。
第二個接受一個比較器對象comparator,如果comparator不為null,在treemap內部進行比較時會調用這個comparator的compare方法,而不再調用鍵的compareto方法,也不再要求鍵實現comparable接口。
應該用哪一個呢?第一個更為簡單,但要求鍵實現comparable接口,且期望的排序和鍵的比較結果是一致的,第二個更為靈活,不要求鍵實現comparable接口,比較器可以用靈活複雜的方式進行實現。
需要強調的是,treemap是按鍵而不是按值有序,無論哪一種,都是對鍵而非值進行比較。
40節介紹了hashmap,我們提到,hashmap有一個重要局限,鍵值對之間沒有特定的順序,我們還提到,map接口有另一個重要的實現類treemap,在treemap中,鍵值對之間按鍵有序,treemap的實現基礎是排序二叉樹,上節我們介紹了排序二叉樹的基本概念和算法,本節我們來詳細討論treemap。
除了map接口,因為有序,treemap還實現了更多接口和方法,下麵,我們先來看treemap的用法,然後探討其內部實現。
第一個為默認構造方法,如果使用默認構造方法,要求map中的鍵實現comparabe接口,treemap內部進行各種比較時會調用鍵的comparable接口中的compareto方法。
第二個接受一個比較器對象comparator,如果comparator不為null,在treemap內部進行比較時會調用這個comparator的compare方法,而不再調用鍵的compareto方法,也不再要求鍵實現comparable接口。
應該用哪一個呢?第一個更為簡單,但要求鍵實現comparable接口,且期望的排序和鍵的比較結果是一致的,第二個更為靈活,不要求鍵實現comparable接口,比較器可以用靈活複雜的方式進行實現。
需要強調的是,treemap是按鍵而不是按值有序,無論哪一種,都是對鍵而非值進行比較。
40節介紹了hashmap,我們提到,hashmap有一個重要局限,鍵值對之間沒有特定的順序,我們還提到,map接口有另一個重要的實現類treemap,在treemap中,鍵值對之間按鍵有序,treemap的實現基礎是排序二叉樹,上節我們介紹了排序二叉樹的基本概念和算法,本節我們來詳細討論treemap。
除了map接口,因為有序,treemap還實現了更多接口和方法,下麵,我們先來看treemap的用法,然後探討其內部實現。
第一個為默認構造方法,如果使用默認構造方法,要求map中的鍵實現comparabe接口,treemap內部進行各種比較時會調用鍵的comparable接口中的compareto方法。
第二個接受一個比較器對象comparator,如果comparator不為null,在treemap內部進行比較時會調用這個comparator的compare方法,而不再調用鍵的compareto方法,也不再要求鍵實現comparable接口。
應該用哪一個呢?第一個更為簡單,但要求鍵實現comparable接口,且期望的排序和鍵的比較結果是一致的,第二個更為靈活,不要求鍵實現comparable接口,比較器可以用靈活複雜的方式進行實現。
需要強調的是,treemap是按鍵而不是按值有序,無論哪一種,都是對鍵而非值進行比較。
40節介紹了hashmap,我們提到,hashmap有一個重要局限,鍵值對之間沒有特定的順序,我們還提到,map接口有另一個重要的實現類treemap,在treemap中,鍵值對之間按鍵有序,treemap的實現基礎是排序二叉樹,上節我們介紹了排序二叉樹的基本概念和算法,本節我們來詳細討論treemap。
除了map接口,因為有序,treemap還實現了更多接口和方法,下麵,我們先來看treemap的用法,然後探討其內部實現。
第一個為默認構造方法,如果使用默認構造方法,要求map中的鍵實現comparabe接口,treemap內部進行各種比較時會調用鍵的comparable接口中的compareto方法。
第二個接受一個比較器對象comparator,如果comparator不為null,在treemap內部進行比較時會調用這個comparator的compare方法,而不再調用鍵的compareto方法,也不再要求鍵實現comparable接口。