TreeSet
TreeSet API
Modifier and TypeMethodDescription
booleanadd(E e)将指定的元素添加到此集合(如果尚未存在)。booleanaddAll(Collection<? extends E> c)将指定集合中的所有元素添加到此集合中。Eceiling(E e)返回此集合中最小元素大于或等于给定元素,如果没有此元素,则返回 null 。voidclear()从此集合中删除所有元素。Objectclone()返回此 TreeSet实例的浅拷贝。Comparator<? super E>comparator()返回用于对该集合中的元素进行排序的比较器,或null,如果此集合使用其元素的natural ordering 。booleancontains(Object o)如果此集合包含指定的元素,则返回 true 。IteratordescendingIterator()以降序返回该集合中的元素的迭代器。NavigableSetdescendingSet()返回此集合中包含的元素的反向排序视图。Efirst()返回此集合中当前的第一个(最低)元素。Efloor(E e)返回此集合中最大的元素小于或等于给定元素,如果没有这样的元素,则返回 null 。SortedSetheadSet(E toElement)返回此集合的部分的视图,其元素严格小于 toElement 。NavigableSetheadSet(E toElement, boolean inclusive)返回该集合的部分的视图,其元素小于(或等于,如果 inclusive为真) toElement 。Ehigher(E e)返回严格大于给定元素的该集合中的最小元素,如果没有此元素则返回 null 。booleanisEmpty()如果此集合不包含元素,则返回 true 。Iteratoriterator()以升序返回该集合中的元素的迭代器。Elast()返回此集合中当前的最后(最高)元素。Elower(E e)返回这个集合中最大的元素严格小于给定的元素,如果没有这样的元素,则返回 null 。EpollFirst()检索并删除第一个(最低)元素,或返回 null如果该集合为空。EpollLast()检索并删除最后一个(最高)元素,如果此集合为空,则返回 null 。booleanremove(Object o)如果存在,则从该集合中删除指定的元素。intsize()返回此集合中的元素数(其基数)。Spliteratorspliterator()在此集合中的元素上创建late-binding和故障切换 Spliterator 。NavigableSetsubSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)返回该集合的部分的视图,其元素的范围从 fromElement到 toElement 。SortedSetsubSet(E fromElement, E toElement) 返回此集合的部分的视图,其元素的范围从 fromElement (含)到 toElement ,排他。SortedSettailSet(E fromElement)返回此组件的元素大于或等于 fromElement的部分的视图。NavigableSettailSet(E fromElement, boolean inclusive)返回此集合的部分的视图,其元素大于(或等于,如果 inclusive为真) fromElement 。
Sample Code
import java.util.Iterator;
import java.util.TreeSet;
public class TreeSetDemo {
@SuppressWarnings("unused")
public static void main(String[] args) {
TreeSet<String> treeSetStr = new TreeSet<String>();
TreeSet<String> treeSetNum = new TreeSet<String>();
/**
*
*/
treeSetStr.add("A");
/**
*
*/
treeSetStr.addAll(treeSetNum);
/**
* 返回此集合中最小元素大于或等于给定元素,如果没有此元素,则返回 null。
*/
treeSetStr.ceiling("B");
/**
* 清除集合所有元素
*/
treeSetStr.clear();
/**
* 浅克隆
*/
treeSetStr.clone();
/**
* 返回用于对该集合中的元素进行排序的比较器.
*/
treeSetStr.comparator();
/**
* 判断集合内是否存在指定元素
*/
treeSetStr.contains("A");
/**
* 返回一个逆向的迭代器
*/
Iterator<String> descIt = treeSetStr.descendingIterator();
while(descIt.hasNext()) {
String str = descIt.next();
descIt.remove();
}
/**
* 返回此集合中包含的元素的反向排序视图。
*/
treeSetStr.descendingSet();
/**
* 返回集合中第一个元素
*/
treeSetStr.first();
/**
* 返回此集合中最大的元素小于或等于给定元素,如果没有这样的元素,则返回 null 。
*/
treeSetStr.floor("a");
/**
* 遍历器
*/
treeSetStr.forEach(
x -> {
System.out.println(x);
}
);
/**
* 返回此集合的部分的视图,其元素严格小于 toElement 。
*/
treeSetStr.headSet("toElement");
/**
* 返回该集合的部分的视图,其元素小于(或等于,如果 inclusive为真) toElement 。
*/
treeSetStr.headSet("toElement", true);
/**
* 返回严格大于给定元素的该集合中的最小元素,如果没有此元素则返回 null 。
*/
treeSetStr.higher("a");
/**
* 集合是否为null
*/
treeSetStr.isEmpty();
/**
* 返回集合的遍历器
*/
treeSetStr.iterator();
/**
* 返回此集合最后的元素
*/
treeSetStr.last();
/**
* 返回这个集合中最大的元素严格小于给定的元素,如果没有这样的元素,则返回 null 。
*/
treeSetStr.lower("e");
/**
* 返回并删除第一个元素,如果为空返回null
*/
treeSetStr.pollFirst();
/**
* 返回并删除最后一个元素,如果为空返回null
*/
treeSetStr.pollLast();
/**
* 删除指定对象
*/
treeSetStr.remove("A");
/**
* 删除与目标集合共有对象
*/
treeSetStr.removeAll(treeSetNum);
/**
* 根据条件删除元素
*/
treeSetStr.removeIf(
x -> x.equals("a")
);
/**
* 保留共有元素
*/
treeSetStr.retainAll(treeSetNum);
/**
* 返回集合内元素的数量
*/
treeSetStr.size();
/**
* Spliterator就是为了并行遍历元素而设计的一个迭代器,jdk1.8中的集合框架中的数据结构都默认实现了spliterator
*/
treeSetStr.spliterator();
/**
* 返回指定范围(范围从 fromElement到 toElement)的元素,前后不包含
*/
treeSetStr.subSet("0", "3");
/**
* 返回指定范围(范围从 fromElement到 toElement)的元素,前后是否包含由参数确定
*/
treeSetStr.subSet("0", true, "3", true);
/**
* 返回大于fromElement的元素视图
*/
treeSetStr.tailSet("fromElement");
/**
* 返回大于fromElement的元素视图,当inclusive 为true返回等于
*/
treeSetStr.tailSet("fromElement", true);
/**
* 集合 -> 数组
*/
String[] strAry = new String[treeSetStr.size()];
strAry = treeSetStr.toArray(strAry);
}
}