Java中的TreeSet和TreeMap是兩個非常重要的數(shù)據(jù)結(jié)構(gòu)。TreeSet實現(xiàn)了Set接口,底層通過紅黑樹(一種自平衡二叉搜索樹)來實現(xiàn),可以自動保證元素的排序;而TreeMap實現(xiàn)了Map接口,也是通過紅黑樹來實現(xiàn),可以自動保證鍵的排序。
//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的使用,它可以自動將元素進(jìn)行排序。當(dāng)我們向TreeSet中添加元素時,底層的紅黑樹會自動調(diào)整,保證元素的有序性。這使得TreeSet非常適合作為存儲有序數(shù)據(jù)的容器。
//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的使用,它可以自動將鍵進(jìn)行排序。類似TreeSet,當(dāng)我們向TreeMap中添加鍵值對時,底層的紅黑樹也會自動調(diào)整,保證鍵的有序性。這使得TreeMap非常適合作為存儲有序鍵值對的容器。