赞
踩
Set可以被认为是一个集合,集合内部是同类型的元素,他们之间没有先后顺序,但是不允许重复!!!
Set中常用的方法有以下几个:
返回值 | 方法 |
---|---|
boolean | add( ) 向集合中添加元素 |
无 | clear( ) 去掉集合中所有的元素 |
boolean | contains( ) 判断集合中是否包含某一个元素 |
boolean | isEmpty( ) 判断集合是否为空 |
Iterator | iterator( ) 主要用于递归集合,返回一个Iterator()对象 |
boolean | remove(E e) 从集合中去掉特定的对象 |
int | size( ) 返回集合的大小 |
在Java中Set是一个继承自Collection接口,它主要有以下两个实现类:
TreeSet是基于平衡二叉搜索树(红黑树)实现的Set,因为二叉搜索树中序遍历为有序的(不明白可以看前一篇博客:二叉搜索树的思想,以及增删查改的实现)会多出来这么几种方法:
返回值 | 方法 |
---|---|
E | first() 返回集合中序遍历第一个 |
E | last() 返回集合中序遍历最后一个 |
E | pollFirst() 删除集合中序遍历第一个并返回 |
E | pollLast() 删除集合中序遍历最后一个并返回 |
E | floor(E e) 返回比传入元素小的所有元素中最大的一个,包含相等(因为传入的元素可能不在集合中,也可能在集合中,这个方法若传入元素在集合中则返回传入元素,如不在则返回比传入元素小的所有元素中最大的一个) |
E | lower(E e) 返回比传入元素小的所有元素中最大的一个 |
E | ceiling(E e) 返回比传入元素大的所有元素中最小的一个(包含传入元素和上面floor()一起理解) |
E | higher(E e) 返回比传入元素大的所有元素中最小的一个(不包含传入元素) |
下面通过代码演示一下上述方法:
public static void main(String[] args) {
TreeSet<Integer> set = new TreeSet<>();
set.add(1);
set.add(9);
set.add(5);
set.add(3);
set.add(10);
set.add(2);
System.out.println("first " + set.first());
System.out.println("last " + set.last(
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。