Set接口

Set

  • 不允许包含重复元素,最多有一个null元素,这个接口是数据集合抽象建模
  • 对add、equals和hashCode方法做了额外的规定
  • 如果将可变对象作为集合元素,则必须非常小心
  • 当添加不合格的元素会引发异常:NullPointerException或ClassCastException
  • 查询不合格的元素的存在可能会引发异常或者只返回一个false

1.接口的定义

public interface Set<E> extends Collection<E> {
    // 1.继承至Collection
    // 2.使用泛型E
}

2.主要方法

public interface Set<E> extends Collection<E> {
    // 返回集合中元素的个数
    int size();
    
    // 集合中没有元素,则返回true
    boolean isEmpty();
    
    // 集合中包含o,则返回true,o的类型并不是E,判断相同时常用equals()方法
    boolean contains(Object o);
    
    // 产生迭代器
    Iterator<E> iterator();
    
    // 增加未在集合中的元素,增加成功则返回ture
    boolean add(E e);
    
    // 删除元素,删除成功则返回true,使用equals()方法来判断两个元素是否相同
    boolean remove(Object o);
    
    // 如果此集合包含指定集合的所有元素,则返回true
    boolean containsAll(Collection<?> c);
    
    // 将两个集合做并集
    boolean addAll(Colleciont<? extends E> c);
    
    // 删除指定集合中也包含此集合的所有元素
    boolean removeAll(Collection<?> c);
    
    // 仅保留此集中包含在指定集合中的元素
    boolean retainAll(Collection<?> c);
    
    // 删除所有元素
    void clear();
    
    // 将指定对象与此集合进行相等性比较,并且每个集合中成员都彼此存在,则返回true
    boolean euqals();
    
    // 集合的哈希代码定义为集合中元素的哈希代码之和,其中空元素的哈希代码定义为零
    int hashCode();
}

3.常用的子类

  • SortedSet
  • HashSet
  • LinkedHashSet
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值