Java基础-集合框架-Collection-Set-TreeSet API及常用方法

mac2024-06-02  56

TreeSet

TreeSet API

Modifier and TypeMethodDescriptionbooleanadd(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); } }
最新回复(0)