zoukankan      html  css  js  c++  java
  • 【JAVA】【集合13】Java中Set接口

    一、Set定义

    Set描述的是 不可以存放重复元素,元素存取是无序 的集合。

    • 不能有两个引用指向同一个对象,或两个指向 null 的引用。如果对象 a 和 b 的引用满足条件 a.equals(b),那么这两个对象也不能同时出现在Set集合中。
    • 多数通用的 Set 实现都不会对元素排序,但并不禁止使用有序集(SortedSet 和 LinkedHashSet 就有顺序)
    • Set 与 List 等有序集合不同,一般认为,Set 的 contains 方 法,不论以常数时间还是以对数时间评判,运行效率都高。

    Set在java.util.Set中定义。

    public interface Set<E> extends Collection<E>
    

    二、Set中定义常用方法

    1. 新增元素

    (1)新增一个元素

    boolean add(E e);
    

    (2)把指定集合参数中的元素添加达到Set中。注:原集合中已存在的元素,不会重复添加的。

    boolean addAll(Collection<? extends E> c);
    

    (3)集合A仅保留指定集合参数B中包含的元素,也就是说:从此集合A中移除集合参数B中不包含的所有元素。

    boolean retainAll(Collection<?> c);
    

    【注意】:add() 和 addAll() 方法必须遵守无重复原则:如果集中已经有某个元素,就不能再次添加。因此,意味着add/addall元素不一定会修改Set集,add() 和 addAll() 方法,在改变集合时返回 true,否则返回 false。

    2. 查询元素

    (1)判断集合中是否存在指定对象

    boolean contains(Object o);
    

    (2)判断集合A中是否存在 指定集合参数B中的内容

    boolean containsAll(Collection<?> c);
    

    3. 删除元素

    (1)从集合中删除指定元素

    boolean remove(Object o);
    

    (2)从集合A中删除 指定的集合参数B中存在的所有元素

    boolean removeAll(Collection<?> c);
    

    (3)清空集合

    void clear();
    

    4. 判断集合大小

    int size();
    boolean isEmpty();
    

    5. Set集合转换为数组

    Object[] toArray();
    
    <T> T[] toArray(T[] a);   //类似Collection中的toArray方法
    

    三、Java中实现Set接口的类

    image

  • 相关阅读:
    关于Hadoop分组排序
    关闭Xshell Linux服务关闭问题
    Centos 7 mysql的安装
    通过 Thumbnails 压缩图片后转 base64
    Centos 7 java环境安装
    mysql 批量添加
    SpringCloud_服务提供者关闭,eureka还显示问题
    关于Hutool发送邮件
    Spring 定时任务 @Scheduled注解
    Listary快捷键和idea快捷键冲突问题
  • 原文地址:https://www.cnblogs.com/yickel/p/14794391.html
Copyright © 2011-2022 走看看