s-day04-TreeSet的基本使用
This commit is contained in:
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user