美文网首页
TreeSet集合API方法实例演示

TreeSet集合API方法实例演示

作者: TedBear_ | 来源:发表于2020-07-11 19:42 被阅读0次

TreeSet

TreeSet是NavigableSet接口的实现类,使用二叉树的数据结构维护元素的顺序。底层数据结构是红黑树。

API方法实例

add

@Test
public void add() {
    //add: 添加一条数据,不可重复
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add(2);
    treeSet.add(1);
    System.out.println("treeSet = " + treeSet);
}

addAll

@Test
public void addAll() {
    //addAll: 根据Collection集合批量添加数据
    TreeSet<Object> treeSet = new TreeSet<>();
    Collection<Object> collection = new TreeSet<>();
    collection.add("addAll");
    collection.add("addAll");
    //返回为true
    System.out.println(treeSet.addAll(collection));
}

ceiling

@Test
public void ceiling() {
    //ceiling: 判断是否存在指定元素,不存在则返回null
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add("ceiling");
    System.out.println(treeSet.ceiling("ceiling"));
}

clear

@Test
public void clear() {
    //clear: 清除集合所有元素
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add("clear");
    treeSet.clear();
    System.out.println("treeSet = " + treeSet);
}

Clone

@Test
public void Clone() {
    //clone: 复制打印集合所有元素
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add("clone");
    System.out.println("treeSet.clone() = " + treeSet.clone());
}

contains

@Test
public void contains() {
    //contains: 判断集合是否存在指定的元素
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add("contains");
    // 存在该元素,打印为true
    System.out.println(treeSet.contains("contains"));
}

descendingIterator

@Test
public void descendingIterator() {
    //descendingIterator: 返回降序的迭代器
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add("descendingIterator2");
    treeSet.add("descendingIterator3");
    Iterator<Object> descendingIterator = treeSet.descendingIterator();
    //使用迭代器方法进行过降序遍历
    descendingIterator.forEachRemaining(System.out::println);
}

descendingSet

@Test
public void descendingSet() {
    //descendingSet: 返回集合的升序视图
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add("descendingSet2");
    treeSet.add("descendingSet1");
    NavigableSet<Object> descendingSet = treeSet.descendingSet();
    //按照升序遍历
    descendingSet.descendingIterator().forEachRemaining(System.out :: println);
}

first

@Test
public void first() {
    //first: 返回集合数值最高的数值
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add(1);
    treeSet.add(2);
    Object first = treeSet.first();
    //打印结果为1
    System.out.println(first);
}

floor

@Test
public void floor() {
    //floor: 返回给定的最大元素,不存在则返回null
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add(1);
    treeSet.add(2);
    System.out.println("treeSet.floor(1) = " + treeSet.floor(1));
}

headSet

@Test
public void headSet() {
    //headSet: 利用参数匹配判断集合的值
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add(1);
    treeSet.add(2);
    //3这个数字大于集合里的值,因此可以打印出集合里的所有值
    System.out.println( treeSet.headSet(3));
}
@Test

headSet(E toElement, boolean inclusive)

@Test
public void headSetArgs() {
    //headSet(E toElement, boolean inclusive): 利用参数匹配判断集合里的值
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add(1);
    //参数为2,由于第二个参数为true,表示可以和集合元素相等或大于,可以遍历集合的元素,为false则不能
    System.out.println("treeSet.headSet(1,true) = " + treeSet.headSet(2, true));
}

higher

@Test
public void higher() {
    //higher: 利用参数匹配集合元素,小于集合元素的值才可显示内容
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add(5);
    //给定的参数值内容小于集合的数值,因此打印集合的数据
    System.out.println(treeSet.higher(4));
}

isEmpty

@Test
public void isEmpty() {
    //isEmpty: 判断集合是否为空,空则返回true,否则false
    TreeSet<Object> treeSet = new TreeSet<>();
    //没有添加数据,返回为true
    System.out.println("linkedHashSet.isEmpty() = " + treeSet.isEmpty());
}

iterator

@Test
public void iterator() {
    //iterator: 返回一个迭代器接口,用于遍历集合
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add("iterator");
    Iterator<Object> iterator = treeSet.iterator();
    iterator.forEachRemaining(System.out :: println);
}

last

@Test
public void last() {
    //last: 返回集合最大的一个元素
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add(1);
    treeSet.add(2);
    //打印结果为2
    System.out.println("treeSet.last() = " + treeSet.last());
}

lower

@Test
public void lower() {
    //lower: 根据参数匹配集合元素,给定的参数必须比集合数据大才能显示结果
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add(1);
    //2比集合的数据大,可以显示集合的数据
    System.out.println(treeSet.lower(2));
}

pollLast

@Test
public void pollLast() {
    //pollLast: 获取并移除集合第一个元素
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add("pollLast1");
    treeSet.add("pollLast2");
    System.out.println("treeSet.pollLast() = " + treeSet.pollLast());
}

remove

@Test
public void remove() {
    //remove: 移除集合指定元素
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add("remove");
    System.out.println(treeSet.remove("remove"));
}

size

@Test
public void size() {
    //size: 返回集合数据长度
    TreeSet<Object> treeSet = new TreeSet<>();
    //没有元素返回为0
    System.out.println("treeSet.size() = " + treeSet.size());
}

subSet(E fromElement, E toElement)

@Test
public void subSetTwoArgs() {
    //subSet(E fromElement, E toElement) : 根据指定参数区间获取集合元素
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add(0);
    treeSet.add(1);
    treeSet.add(2);
    //返回1-2索引值之间的数据,打印为1
    System.out.println("treeSet.subSet(1,2) = " + treeSet.subSet(1, 2));
}

subSet(四个参数)

@Test
public void subSetFourArgs() {
    //subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive): 根据指定参数区间获取集合元素
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add(0);
    treeSet.add(1);
    treeSet.add(2);
    //返回1-2索引值的数据,两个参数都为true是打印1-2的索引值,都为false则都不打印
    System.out.println("treeSet.subSet(1,false,2,true) = " + treeSet.subSet(1, true, 2, true));
}

tailSet(E fromElement)

@Test
public void tailSetOneArg() {
    //tailSet(E fromElement): 返回集合数据,参数需要小于集合数据
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add(1);
    // 参数小于集合数据,可以打印集合
    System.out.println("treeSet.tailSet(0) = " + treeSet.tailSet(0));
}

tailSet(E fromElement, boolean inclusive)

@Test
public void tailSetTwoArgs() {
    //tailSet(E fromElement, boolean inclusive): 根据参数匹配集合,小于则返回集合的值,参数为true则表示或等于s
    TreeSet<Object> treeSet = new TreeSet<>();
    treeSet.add(3);
    //参数和集合的值相等并且为true,可以打印集合参数
    System.out.println("treeSet.tailSet(3,true) = " + treeSet.tailSet(3, true));
}

相关文章

网友评论

      本文标题:TreeSet集合API方法实例演示

      本文链接:https://www.haomeiwen.com/subject/fcaicktx.html