Java中的Set

本文介绍了Java中的Set概念和特性,包括Set的基本方法,并详细讲述了基于红黑树实现的TreeSet以及基于哈希表实现的HashSet。TreeSet提供有序操作如first()、last()等,而HashSet则不支持此类操作。使用TreeSet需实现Comparable或提供Comparator,HashSet则需重写hashCode()和equals()方法。
摘要由CSDN通过智能技术生成

Set的概念和特性以及常用方法

Set可以被认为是一个集合,集合内部是同类型的元素,他们之间没有先后顺序,但是不允许重复!!!
Set中常用的方法有以下几个:

返回值 方法
boolean add( ) 向集合中添加元素
clear( ) 去掉集合中所有的元素
boolean contains( ) 判断集合中是否包含某一个元素
boolean isEmpty( ) 判断集合是否为空
Iterator iterator( ) 主要用于递归集合,返回一个Iterator()对象
boolean remove(E e) 从集合中去掉特定的对象
int size( ) 返回集合的大小

在Java中Set是一个继承自Collection接口,它主要有以下两个实现类:

TreeSet

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(
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有裂痕的石头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值