From a8e41fe203b6e0cb2b941e84b3c044da5f24154a Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Mon, 3 Aug 2026 11:12:09 +0800 Subject: [PATCH] =?UTF-8?q?s-day04-TreeSet=E7=9A=84=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/inmind/treeset02/TreeSetDemo08.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 s-day04/src/com/inmind/treeset02/TreeSetDemo08.java 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); + } +}