diff --git a/s-day04/src/com/inmind/treeset02/TreeSetDemo08.java b/s-day04/src/com/inmind/treeset02/TreeSetDemo08.java new file mode 100644 index 0000000..06e47be --- /dev/null +++ b/s-day04/src/com/inmind/treeset02/TreeSetDemo08.java @@ -0,0 +1,58 @@ +package com.inmind.treeset02; + +import java.util.SortedSet; +import java.util.TreeSet; + +/* +TreeSet和TreeMap对比学习 + +TreeSet是Set接口的一个实现类,有序的集合。 +它的特点: + 1.元素有序(默认自然排序,也可以通过构造方法传入新的排序) + 2.不能重复 + 3.底层是红黑树 + +总结:treeSet有排序功能,可以根据指定的值获取数据,并且可以获取子集合 + */ +public class TreeSetDemo08 { + public static void main(String[] args) { + //创建自然排序的treeSet + TreeSet treeSet = new TreeSet<>(); + treeSet.add(5); + treeSet.add(3); + treeSet.add(1); + treeSet.add(2); + System.out.println(treeSet); + + //之前已学过的Set接口的add,remove,contains + treeSet.remove(1); + System.out.println(treeSet); + System.out.println(treeSet.contains(1)); + + //由于TreeSet拥有排序的效果,所以它能直接获取头尾数据 + //获取第一个元素first() + System.out.println(treeSet.first()); + //获取最后一个元素last() + System.out.println(treeSet.last()); + + //获取小于指定元素的最大元素(lower()) + System.out.println(treeSet.lower(5)); + + //获取小于等于指定元素的最大元素(floor()) + System.out.println(treeSet.floor(3)); + + //获取大于指定元素的最小元素(higher()) + System.out.println(treeSet.higher(2)); + + //获取大于等于指定元素的最小元素(ceiling()) + System.out.println(treeSet.ceiling(3)); + + //截取子集:截取子集合(headSet():小于指定元素) + SortedSet set = treeSet.headSet(5); + System.out.println(set); + + //截取子集合(tailSet():大于等于指定元素) + SortedSet set1 = treeSet.tailSet(2); + System.out.println(set1); + } +}