java学习笔记53:Set介绍使用

Set

储存和取出的顺序不一致,元素唯一,不能根据索引获取元素

  • HashSet集合 :底层是通过HashMap实现的 底层new HashMap对象 ,只用了 key 并没有使用 value value指向统一地址 new Object()
  • LinkedHashSet:HashSet保证元素唯一,可是元素存放进去是没有顺序的,那么我们要保证有序,怎么办呢
    在HashSet下面有一个子类java.util.LinkedHashSet,它是 链表和哈希表 组合的一个数据存储结构。
  • TreeSet:是一个有序的集合,它的作用是提供有序的Set集合。基本操作(add、remove 和 contains)提供受保证的 log(n) 时间开销。 另外,TreeSet是非同步的。 它的iterator 方法返回的迭代器是fail-fast的。
boolean add(E e) //如果指定的元素尚不存在,则将其添加到此集合(可选操作)。  
boolean addAll(Collection<? extends E> c) //如果指定集合中的所有元素尚未存在(可选操作),则将其添加到此集合中。  
void clear() //从该集合中删除所有元素(可选操作)。  
boolean contains(Object o) //如果此set包含指定的元素,则返回 true 。  
boolean containsAll(Collection<?> c) //如果此集合包含指定集合的所有元素,则返回 true 。  
static <E> Set<E> copyOf(Collection<? extends E> coll) //返回包含给定Collection的元素的 unmodifiable Set 。  
boolean equals(Object o) //将指定对象与此set进行相等性比较。  
int hashCode() //返回此set的哈希码值。  
boolean isEmpty() //如果此集合不包含任何元素,则返回 true 。  
Iterator<E> iterator() //返回此set中元素的迭代器。  
static <E> Set<E> of() //返回包含零元素的不可修改集。  
static <E> Set<E> of(E e1) //返回包含一个元素的不可修改集。  
static <E> Set<E> of(E... elements) //返回包含任意数量元素的不可修改集。  
boolean remove(Object o) //如果存在,则从该集合中移除指定的元素(可选操作)。  
boolean removeAll(Collection<?> c) //从此集合中删除指定集合中包含的所有元素(可选操作)。  
boolean retainAll(Collection<?> c) //仅保留此集合中包含在指定集合中的元素(可选操作)。  
int size() //返回此集合中的元素数(基数)。  
default Spliterator<E> spliterator() //在此集合中的元素上创建 Spliterator 。  
Object[] toArray() //返回包含此set中所有元素的数组。  
<T> T[] toArray(T[] a) //返回一个包含此set中所有元素的数组; 返回数组的运行时类型是指定数组的运行时类型。  
1 HashSet
HashSet() //构造一个新的空集; 支持HashMap实例具有默认初始容量(16)和加载因子(0.75)。  
HashSet(int initialCapacity) //构造一个新的空集; 支持HashMap实例具有指定的初始容量和默认加载因子(0.75)。  
HashSet(int initialCapacity, float loadFactor) //构造一个新的空集; 支持HashMap实例具有指定的初始容量和指定的加载因子。  
HashSet(Collection<? extends E> c) //构造一个包含指定集合中元素的新集合。 
void clear() //从该集中删除所有元素。  
Object clone() //返回此 HashSet实例的浅表副本:未克隆元素本身。  
2 LinkedHashSet
LinkedHashSet() //使用默认初始容量(16)和加载因子(0.75)构造一个新的空链接哈希集。  
LinkedHashSet(int initialCapacity) //使用指定的初始容量和默认加载因子(0.75)构造一个新的空链接哈希集。  
LinkedHashSet(int initialCapacity, float loadFactor) //使用指定的初始容量和加载因子构造一个新的空链接哈希集。  
LinkedHashSet(Collection<? extends E> c) //构造一个新的链接哈希集,其具有与指定集合相同的元素。 
3 TreeSet
TreeSet() //构造一个新的空树集,根据其元素的自然顺序进行排序。  
TreeSet(Collection<? extends E> c) //构造一个新的树集,其中包含指定集合中的元素,并根据其元素的 自然顺序进行排序 。  
TreeSet(Comparator<? super E> comparator) //构造一个新的空树集,根据指定的比较器进行排序。  
TreeSet(SortedSet<E> s) //构造一个包含相同元素并使用与指定有序集相同排序的新树集。  
E ceiling(E e) //返回此set中大于或等于给定元素的 null元素,如果没有这样的元素,则 null 。  
void clear() //从该集中删除所有元素。  
Object clone() //返回此 TreeSet实例的浅表副本。  
Iterator<E> descendingIterator() //以降序返回此集合中元素的迭代器。  
NavigableSet<E> descendingSet() //返回此set中包含的元素的逆序视图。  
E first() //返回此集合中当前的第一个(最低)元素。  
E floor(E e) //返回此set中小于或等于给定元素的最大元素,如果没有这样的元素,则 null 。  
SortedSet<E> headSet(E toElement) //返回此set的部分视图,其元素严格小于 toElement 。  
NavigableSet<E> headSet(E toElement, boolean inclusive) //返回此set的部分视图,其元素小于(或等于,如果 inclusive为true) toElement 。  
E higher(E e) //返回此集合中的最小元素严格大于给定元素,如果没有这样的元素,则 null 。  
E last() //返回此集合中当前的最后一个(最高)元素。  
E lower(E e) //返回此集合中的最大元素严格小于给定元素,如果没有这样的元素,则 null 。  
E pollFirst() //检索并删除第一个(最低)元素,如果此组为空,则返回 null 。  
E pollLast() //检索并删除最后一个(最高)元素,如果此集合为空,则返回 null 。  
NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive) //返回此set的部分视图,其元素范围为 fromElement到 toElement 。  
SortedSet<E> subSet(E fromElement, E toElement) //返回此set的部分视图,其元素范围从 fromElement (含)到 toElement (独占)。  
SortedSet<E> tailSet(E fromElement) //返回此set的部分视图,其元素大于或等于 fromElement 。  
NavigableSet<E> tailSet(E fromElement, boolean inclusive) //返回此set的部分视图,其元素大于(或等于,如果 inclusive为true) fromElement 。  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值