13.5 SortedSet接口
从TreeSet类的定义中可以发现,TreeSet中实现了SortedSet接口,此接口主要用于排序操作,即实现此接口的子类都属于排序的子类。SortedSet接口定义如下:
- public interface SortedSet<E> extends Set<E>
发现此接口也继承了Set接口。此接口中定义了如表13-7所示的方法。
表13-7 SortedSet接口中定义的方法
序号 | 方 法 | 类型 | 描 述 |
1 | public Comparator<? super E> comparator() | 普通 | 返回与排序有关联的比较器 |
2 | public E first() | 普通 | 返回集合中的第一个元素 |
3 | public SortedSet<E> headset (E toElement) | 普通 | 返回从开始到指定元素的集合 |
4 | public E last() | 普通 | 返回最后一个元素 |
5 | public SortedSet<E> subSet (E fromElement,E toElement) | 普通 | 返回指定对象间的元素 |
6 | public SortedSet<E> tailSet (E fromElement) | 普通 | 从指定元素到最后 |
范例:验证SortedSet接口
- package org.lxh.demo13.setdemo;
- import java.util.SortedSet;
- import java.util.TreeSet;
- public class TreeSetDemo05 {
- public static void main(String[] args) {
- SortedSet<String> allSet = new
TreeSet<String>(); // 为SortedSet- 实例化
- allSet.add("A");
// 增加元素- allSet.add("B");
// 增加元素- allSet.add("C");
// 增加元素- allSet.add("C");
// 重复元素,不能- 加入
- allSet.add("C");
// 重复元素,不能加入- allSet.add("D");
// 增加元素- allSet.add("E");
// 增加元素- System.out.println("第一个元素:" +
allSet.first());- System.out.println("最后一个元素:"
+ allSet.last());- System.out.println("headSet元素:" +
allSet.headSet("C"));- System.out.println("tailSet元素:"
+ allSet.tailSet("C"));- System.out.println("subSet元素:"
+ allSet.subSet("B","D"));- }
- }
程序运行结果:
- 第一个元素:A
- 最后一个元素:E
- headSet元素:[A, B]
- tailSet元素:[C, D, E]
- subSet元素:[B, C]