常用集合总结

目录

一、集合关系

二、List类

1、ArrayList和LinkedList区别

2、Arraylist常用API

 3、LinkedList常用API

三、Set类

1、hashset与treeset的区别

2、hashset的API

3、treeset的API

 四、Map类

1、Map类与其他类的区别

2、Hashmap常用API


一、集合关系

二、List类

1、ArrayList和LinkedList区别

ArrayList是基于数组的,LinkedList是基于链表的,前者优于查询,后者优于插入,此外,LinkedList可以当做双端队列使用 。

2、Arraylist常用API

    • Modifier and Type方法描述
      voidadd​(int index, E element)

      在此列表中的指定位置插入指定的元素。

      booleanadd​(E e)

      将指定的元素追加到此列表的末尾。

      booleanaddAll​(int index, Collection<? extends E> c)

      将指定集合中的所有元素插入到此列表中,从指定的位置开始。

      booleanaddAll​(Collection<? extends E> c)

      按指定集合的Iterator返回的顺序将指定集合中的所有元素追加到此列表的末尾。

      voidclear​()

      从列表中删除所有元素。

      Objectclone​()

      返回此 ArrayList实例的浅拷贝。

      booleancontains​(Object o)

      如果此列表包含指定的元素,则返回 true

      voidensureCapacity​(int minCapacity)

      如果需要,增加此 ArrayList实例的容量,以确保它至少能够容纳最小容量参数指定的元素数量。

      voidforEach​(Consumer<? super E> action)

      Iterable每个元素执行给定的操作,直到所有元素都被处理或动作引发异常。

      Eget​(int index)

      返回此列表中指定位置的元素。

      intindexOf​(Object o)

      返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。

      booleanisEmpty​()

      如果此列表不包含元素,则返回 true

      Iterator<E>iterator​()

      以正确的顺序返回该列表中的元素的迭代器。

      intlastIndexOf​(Object o)

      返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。

      ListIterator<E>listIterator​()

      返回列表中的列表迭代器(按适当的顺序)。

      ListIterator<E>listIterator​(int index)

      从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。

      Eremove​(int index)

      删除该列表中指定位置的元素。

      booleanremove​(Object o)

      从列表中删除指定元素的第一个出现(如果存在)。

      booleanremoveAll​(Collection<?> c)

      从此列表中删除指定集合中包含的所有元素。

      booleanremoveIf​(Predicate<? super E> filter)

      删除满足给定谓词的此集合的所有元素。

      protected voidremoveRange​(int fromIndex, int toIndex)

      从此列表中删除所有索引为 fromIndex (包括)和 toIndex之间的元素。

      voidreplaceAll​(UnaryOperator<E> operator)

      将该列表的每个元素替换为将该运算符应用于该元素的结果。

      booleanretainAll​(Collection<?> c)

      仅保留此列表中包含在指定集合中的元素。

      Eset​(int index, E element)

      用指定的元素替换此列表中指定位置的元素。

      intsize​()

      返回此列表中的元素数。

      voidsort​(Comparator<? super E> c)

      根据指定的Comparator引发的顺序排列此列表。

      Spliterator<E>spliterator​()

      在此列表中的元素上创建late-binding故障快速 Spliterator

      List<E>subList​(int fromIndex, int toIndex)

      返回指定的 fromIndex (含)和 toIndex之间的列表部分的视图。

      Object[]toArray​()

      以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。

      <T> T[]toArray​(T[] a)

      以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。

      voidtrimToSize​()

      修改这个 ArrayList实例的容量是列表的当前大小。

 3、LinkedList常用API

    • Modifier and Type方法描述
      voidadd​(int index, E element)

      在此列表中的指定位置插入指定的元素。

      booleanadd​(E e)

      将指定的元素追加到此列表的末尾。

      booleanaddAll​(int index, Collection<? extends E> c)

      将指定集合中的所有元素插入到此列表中,从指定的位置开始。

      booleanaddAll​(Collection<? extends E> c)

      按照指定集合的迭代器返回的顺序将指定集合中的所有元素追加到此列表的末尾。

      voidaddFirst​(E e)

      在该列表开头插入指定的元素。

      voidaddLast​(E e)

      将指定的元素追加到此列表的末尾。

      voidclear​()

      从列表中删除所有元素。

      Objectclone​()

      返回此 LinkedList的浅拷贝。

      booleancontains​(Object o)

      如果此列表包含指定的元素,则返回 true

      Iterator<E>descendingIterator​()

      以相反的顺序返回此deque中的元素的迭代器。

      Eelement​()

      检索但不删除此列表的头(第一个元素)。

      Eget​(int index)

      返回此列表中指定位置的元素。

      EgetFirst​()

      返回此列表中的第一个元素。

      EgetLast​()

      返回此列表中的最后一个元素。

      intindexOf​(Object o)

      返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。

      intlastIndexOf​(Object o)

      返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。

      ListIterator<E>listIterator​(int index)

      从列表中的指定位置开始,返回此列表中元素的列表迭代器(按适当的顺序)。

      booleanoffer​(E e)

      将指定的元素添加为此列表的尾部(最后一个元素)。

      booleanofferFirst​(E e)

      在此列表的前面插入指定的元素。

      booleanofferLast​(E e)

      在该列表的末尾插入指定的元素。

      Epeek​()

      检索但不删除此列表的头(第一个元素)。

      EpeekFirst​()

      检索但不删除此列表的第一个元素,如果此列表为空,则返回 null

      EpeekLast​()

      检索但不删除此列表的最后一个元素,如果此列表为空,则返回 null

      Epoll​()

      检索并删除此列表的头(第一个元素)。

      EpollFirst​()

      检索并删除此列表的第一个元素,如果此列表为空,则返回 null

      EpollLast​()

      检索并删除此列表的最后一个元素,如果此列表为空,则返回 null

      Epop​()

      从此列表表示的堆栈中弹出一个元素。

      voidpush​(E e)

      将元素推送到由此列表表示的堆栈上。

      Eremove​()

      检索并删除此列表的头(第一个元素)。

      Eremove​(int index)

      删除该列表中指定位置的元素。

      booleanremove​(Object o)

      从列表中删除指定元素的第一个出现(如果存在)。

      EremoveFirst​()

      从此列表中删除并返回第一个元素。

      booleanremoveFirstOccurrence​(Object o)

      删除此列表中指定元素的第一个出现(从头到尾遍历列表时)。

      EremoveLast​()

      从此列表中删除并返回最后一个元素。

      booleanremoveLastOccurrence​(Object o)

      删除此列表中指定元素的最后一次出现(从头到尾遍历列表时)。

      Eset​(int index, E element)

      用指定的元素替换此列表中指定位置的元素。

      intsize​()

      返回此列表中的元素数。

      Spliterator<E>spliterator​()

      在此列表中的元素上创建late-binding故障快速 Spliterator

      Object[]toArray​()

      以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。

      <T> T[]toArray​(T[] a)

      以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。

三、Set类

1、hashset与treeset的区别

简单说,hashset使用哈希表,无序,treeset使用二叉树,有序,但二者都没有索引,二者判断唯一的方式也不一样

 ashset:通过判断元素的hashcode方法和equals方法来保证元素的唯一性。当哈希值不同时就直接进行储存。如果相同,会判断一次equals方式是否返回为true ,如果是true 则视为用的同一个元素,不用再储存。  如果是false,这俄格相同哈希值不同内容的元素会放在同一个桶里(当哈希表中有一个桶结构,每一个捅都有一个哈希值)
Treeset:根据比较方法的返回值决定的,只要返回的是0,就代表元素重复。


2、hashset的API

    • Modifier and Type方法描述
      booleanadd​(E e)

      将指定的元素添加到此集合(如果尚未存在)。

      voidclear​()

      从此集合中删除所有元素。

      Objectclone​()

      返回此 HashSet实例的浅拷贝:元素本身不被克隆。

      booleancontains​(Object o)

      如果此集合包含指定的元素,则返回 true

      booleanisEmpty​()

      如果此集合不包含元素,则返回 true

      Iterator<E>iterator​()

      返回此集合中元素的迭代器。

      booleanremove​(Object o)

      如果存在,则从该集合中删除指定的元素。

      intsize​()

      返回此集合中的元素数(其基数)。

      Spliterator<E>spliterator​()

      在此集合中的元素上创建late-binding故障快速 Spliterator

3、treeset的API

    • Modifier and Type方法描述
      booleanadd​(E e)

      将指定的元素添加到此集合(如果尚未存在)。

      booleanaddAll​(Collection<? extends E> c)

      将指定集合中的所有元素添加到此集合中。

      Eceiling​(E e)

      返回此集合中最小元素大于或等于给定元素,如果没有此元素,则 null

      voidclear​()

      从此集合中删除所有元素。

      Objectclone​()

      返回此 TreeSet实例的浅层副本。

      Comparator<? super E>comparator​()

      返回用于为了在这个组中的元素,或比较null如果这个集使用natural ordering的元素。

      booleancontains​(Object o)

      如果此集合包含指定的元素,则返回 true

      Iterator<E>descendingIterator​()

      以降序返回该集合中的元素的迭代器。

      NavigableSet<E>descendingSet​()

      返回此集合中包含的元素的反向排序视图。

      Efirst​()

      返回此集合中当前的第一个(最低)元素。

      Efloor​(E e)

      返回此集中最大的元素小于或等于给定元素,如果没有此元素,则 null

      SortedSet<E>headSet​(E toElement)

      返回此集合的部分的视图,其元素严格小于 toElement

      NavigableSet<E>headSet​(E toElement, boolean inclusive)

      返回此集合的部分的视图,其元素小于(或等于,如果 inclusive为真) toElement

      Ehigher​(E e)

      返回这个集合中的最小元素严格大于给定的元素,如果没有这样的元素,则 null

      booleanisEmpty​()

      如果此集合不包含元素,则返回 true

      Iterator<E>iterator​()

      以升序返回该集合中的元素的迭代器。

      Elast​()

      返回此集合中当前的最后(最高)元素。

      Elower​(E e)

      返回该集合中最大的元素严格小于给定的元素,如果没有这样的元素,则 null

      EpollFirst​()

      检索并删除第一个(最低)元素,如果此集合为空,则返回 null

      EpollLast​()

      检索并删除最后一个(最高)元素,如果此集合为空,则返回 null

      booleanremove​(Object o)

      如果存在,则从该集合中删除指定的元素。

      intsize​()

      返回此集合中的元素数(其基数)。

      Spliterator<E>spliterator​()

      在此集合中的元素上创建late-binding故障快速 Spliterator

      NavigableSet<E>subSet​(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)

      返回此集合的部分的视图,其元素的范围从 fromElementtoElement

      SortedSet<E>subSet​(E fromElement, E toElement)

      返回此集合的部分的视图,其元素的范围从 fromElement (包括)到 toElement ,独占。

      SortedSet<E>tailSet​(E fromElement)

      返回此集合的部分的视图,该部分的元素大于或等于 fromElement

      NavigableSet<E>tailSet​(E fromElement, boolean inclusive)

      返回此集合的部分的视图,其元素大于(或等于,如果 inclusive为true) fromElement

 四、Map类

1、Map类与其他类的区别

Map类为键值对形式,键不可以重复,值可以重复,无序。

2、Hashmap常用API

    • Modifier and Type方法描述
      voidclear​()

      从这张地图中删除所有的映射。

      Objectclone​()

      返回此 HashMap实例的浅拷贝:键和值本身不被克隆。

      Vcompute​(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)

      尝试计算指定密钥及其当前映射值的映射(如果没有当前映射,则 null )。

      VcomputeIfAbsent​(K key, Function<? super K,? extends V> mappingFunction)

      如果指定的键尚未与值相关联(或映射到 null ),则尝试使用给定的映射函数计算其值,并将其输入到此映射中,除非 null

      VcomputeIfPresent​(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)

      如果指定的密钥的值存在且非空,则尝试计算给定密钥及其当前映射值的新映射。

      booleancontainsKey​(Object key)

      如果此映射包含指定键的映射,则返回 true

      booleancontainsValue​(Object value)

      如果此映射将一个或多个键映射到指定的值,则返回 true

      Set<Map.Entry<K,V>>entrySet​()

      返回此地图中包含的映射的Set视图。

      voidforEach​(BiConsumer<? super K,? super V> action)

      对此映射中的每个条目执行给定的操作,直到所有条目都被处理或操作引发异常。

      Vget​(Object key)

      返回指定键映射到的值,如果此映射不包含键的映射,则返回 null

      VgetOrDefault​(Object key, V defaultValue)

      返回指定键映射到的值,如果此映射不包含该键的映射,则返回 defaultValue

      booleanisEmpty​()

      如果此映射不包含键值映射,则返回 true

      Set<K>keySet​()

      返回此地图中包含的键的Set视图。

      Vmerge​(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)

      如果指定的键尚未与值相关联或与null相关联,则将其与给定的非空值相关联。

      Vput​(K key, V value)

      将指定的值与此映射中的指定键相关联。

      voidputAll​(Map<? extends K,? extends V> m)

      将指定地图的所有映射复制到此地图。

      VputIfAbsent​(K key, V value)

      如果指定的键尚未与值相关联(或映射到 null )将其与给定值相关联并返回 null ,否则返回当前值。

      Vremove​(Object key)

      从该地图中删除指定键的映射(如果存在)。

      booleanremove​(Object key, Object value)

      仅当指定的密钥当前映射到指定的值时删除该条目。

      Vreplace​(K key, V value)

      只有当目标映射到某个值时,才能替换指定键的条目。

      booleanreplace​(K key, V oldValue, V newValue)

      仅当当前映射到指定的值时,才能替换指定键的条目。

      voidreplaceAll​(BiFunction<? super K,? super V,? extends V> function)

      将每个条目的值替换为对该条目调用给定函数的结果,直到所有条目都被处理或该函数抛出异常。

      intsize​()

      返回此地图中键值映射的数量。

      Collection<V>values​()

      返回此地图中包含的值的Collection视图。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值