s-day04-TreeSet的基本使用

This commit is contained in:
2026-08-03 11:12:09 +08:00
parent a791691c33
commit a8e41fe203
@@ -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<Integer> 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<Integer> set = treeSet.headSet(5);
System.out.println(set);
//截取子集合(tailSet():大于等于指定元素)
SortedSet<Integer> set1 = treeSet.tailSet(2);
System.out.println(set1);
}
}