Java中的TreeSet和TreeMap是兩個非常重要的數據結構。TreeSet實現了Set接口,底層通過紅黑樹(一種自平衡二叉搜索樹)來實現,可以自動保證元素的排序;而TreeMap實現了Map接口,也是通過紅黑樹來實現,可以自動保證鍵的排序。
//TreeSet示例代碼 TreeSet<Integer> set = new TreeSet<>(); set.add(2); set.add(1); set.add(3); for(Integer i : set){ System.out.println(i); } //Output: 1 2 3
上面的代碼演示了TreeSet的使用,它可以自動將元素進行排序。當我們向TreeSet中添加元素時,底層的紅黑樹會自動調整,保證元素的有序性。這使得TreeSet非常適合作為存儲有序數據的容器。
//TreeMap示例代碼 TreeMap<Integer, String> map = new TreeMap<>(); map.put(2, "two"); map.put(1, "one"); map.put(3, "three"); for(Map.Entry<Integer, String> entry : map.entrySet()){ System.out.println(entry.getKey() + " " + entry.getValue()); } //Output: 1 one 2 two 3 three
上面的代碼演示了TreeMap的使用,它可以自動將鍵進行排序。類似TreeSet,當我們向TreeMap中添加鍵值對時,底層的紅黑樹也會自動調整,保證鍵的有序性。這使得TreeMap非常適合作為存儲有序鍵值對的容器。