Java 集合框架接口及方法详解

发布 | 2024-08-17 | JAVA

1. Collection 接口

Collection 是 Java 集合框架的根接口,定义了集合操作的一般方法。

方法

  • boolean add(E e)
    将指定元素添加到集合中。
  • boolean addAll(Collection<? extends E> c)
    将指定集合中的所有元素添加到当前集合中。
  • void clear()
    移除集合中的所有元素。
  • boolean contains(Object o)
    判断集合是否包含指定元素。
  • boolean containsAll(Collection<?> c)
    判断集合是否包含指定集合中的所有元素。
  • boolean isEmpty()
    判断集合是否为空。
  • Iterator<E> iterator()
    返回集合中元素的迭代器。
  • boolean remove(Object o)
    移除集合中的指定元素。
  • boolean removeAll(Collection<?> c)
    移除当前集合中与指定集合中相同的所有元素。
  • boolean retainAll(Collection<?> c)
    保留集合中与指定集合中相同的元素。
  • int size()
    返回集合中元素的数量。
  • Object[] toArray()
    返回包含集合中所有元素的数组。
  • <T> T[] toArray(T[] a)
    返回包含集合中所有元素的数组,类型为指定数组的类型。

2. List 接口(继承自 Collection

List 是一个有序集合,允许重复元素,并提供基于索引的访问。

方法

  • void add(int index, E element)
    在指定位置插入元素。
  • boolean addAll(int index, Collection<? extends E> c)
    从指定位置开始将指定集合中的所有元素插入到列表中。
  • E get(int index)
    返回指定位置的元素。
  • E set(int index, E element)
    用指定元素替换指定位置的元素。
  • E remove(int index)
    移除指定位置的元素。
  • int indexOf(Object o)
    返回首次出现的指定元素的位置。
  • int lastIndexOf(Object o)
    返回最后一次出现的指定元素的位置。
  • List<E> subList(int fromIndex, int toIndex)
    返回列表中指定位置的子列表。

3. Set 接口(继承自 Collection

Set 是一个不允许重复元素的集合。

方法

  • boolean add(E e)
    将指定元素添加到集合中。
  • boolean addAll(Collection<? extends E> c)
    将指定集合中的所有元素添加到当前集合中。
  • boolean remove(Object o)
    移除集合中的指定元素。
  • boolean contains(Object o)
    判断集合是否包含指定元素。
  • boolean isEmpty()
    判断集合是否为空。
  • int size()
    返回集合中元素的数量。

4. SortedSet 接口(继承自 Set

SortedSet 是一个排序的 Set,允许根据自然顺序或构造时提供的比较器进行排序。

方法

  • E first()
    返回集合中的第一个元素。
  • E last()
    返回集合中的最后一个元素。
  • SortedSet<E> headSet(E toElement)
    返回集合中小于指定元素的视图。
  • SortedSet<E> tailSet(E fromElement)
    返回集合中大于等于指定元素的视图。
  • SortedSet<E> subSet(E fromElement, E toElement)
    返回集合中介于两个指定元素之间的视图。

5. NavigableSet 接口(继承自 SortedSet

NavigableSet 是一个可导航的 SortedSet,提供额外的导航方法。

方法

  • E lower(E e)
    返回集合中小于指定元素的最大元素。
  • E floor(E e)
    返回集合中小于或等于指定元素的最大元素。
  • E ceiling(E e)
    返回集合中大于或等于指定元素的最小元素。
  • E higher(E e)
    返回集合中大于指定元素的最小元素。
  • E pollFirst()
    返回并移除集合中的第一个元素。
  • E pollLast()
    返回并移除集合中的最后一个元素。

6. Queue 接口(继承自 Collection

Queue 是一个用于存储元素的集合,通常按照先进先出的原则进行处理。

方法

  • boolean offer(E e)
    将指定元素插入队列(如果允许)。
  • E poll()
    返回并移除队列中的头部元素。
  • E peek()
    返回队列中的头部元素(如果队列为空则返回 null)。
  • E remove()
    移除并返回队列中的头部元素(如果队列为空则抛出异常)。
  • E element()
    返回队列中的头部元素(如果队列为空则抛出异常)。

7. Deque 接口(继承自 Queue

Deque 是一个双端队列,允许在两端进行插入和删除操作。

方法

  • void addFirst(E e)
    在双端队列的前端插入元素。
  • void addLast(E e)
    在双端队列的尾部插入元素。
  • boolean offerFirst(E e)
    将元素插入双端队列的前端(如果允许)。
  • boolean offerLast(E e)
    将元素插入双端队列的尾部(如果允许)。
  • E removeFirst()
    移除并返回双端队列中的第一个元素。
  • E removeLast()
    移除并返回双端队列中的最后一个元素。
  • E getFirst()
    返回双端队列中的第一个元素(不移除)。
  • E getLast()
    返回双端队列中的最后一个元素(不移除)。
  • E peekFirst()
    返回双端队列中的第一个元素(如果双端队列为空则返回 null)。
  • E peekLast()
    返回双端队列中的最后一个元素(如果双端队列为空则返回 null)。

8. Map 接口

Map 是一个映射接口,将键映射到值,一个键只能映射到一个值,但一个值可以被多个键映射。

方法

  • V put(K key, V value)
    将指定值与指定键关联(如果键已存在,则覆盖旧值)。
  • V get(Object key)
    返回指定键所关联的值。
  • V remove(Object key)
    移除指定键及其关联的值。
  • boolean containsKey(Object key)
    如果映射包含指定键,则返回 true
  • boolean containsValue(Object value)
    如果映射包含指定值,则返回 true
  • Set<K> keySet()
    返回映射中所有键的集合视图。
  • Collection<V> values()
    返回映射中所有值的集合视图。
  • Set<Map.Entry<K, V>> entrySet()
    返回映射中所有键值对的集合视图。
  • boolean isEmpty()
    判断映射是否为空。
  • int size()
    返回映射中的键值对数量。
  • void putAll(Map<? extends K, ? extends V> m)
    将指定映射中的所有键值对添加到当前映射中。
  • void clear()
    移除映射中的所有键值对。

9. SortedMap 接口(继承自 Map

SortedMap 是一个排序的映射,按自然顺序或构造时提供的比较器对键进行排序。

方法

  • K firstKey()
    返回映射中的第一个键。
  • K lastKey()
    返回映射中的最后一个键。
  • SortedMap<K, V> headMap(K toKey)
    返回映射中小于指定键的子映射。
  • SortedMap<K, V> tailMap(K fromKey)
    返回映射中大于等于指定键的子映射。
  • SortedMap<K, V> subMap(K fromKey, K toKey)
    返回映射中介于两个指定键之间的子映射。

10. NavigableMap 接口(继承自 SortedMap

NavigableMap 是一个可导航的 SortedMap,提供额外的导航方法。

方法

  • Map.Entry<K, V> lowerEntry(K key)
    返回小于指定键的最大键值对。
  • K lowerKey(K key)
    返回小于指定键的最大键。
  • Map.Entry<K, V> floorEntry(K key)

返回小于或等于指定键的最大键值对。

  • K floorKey(K key)
    返回小于或等于指定键的最大键。
  • Map.Entry<K, V> ceilingEntry(K key)
    返回大于或等于指定键的最小键值对。
  • K ceilingKey(K key)
    返回大于或等于指定键的最小键。
  • Map.Entry<K, V> higherEntry(K key)
    返回大于指定键的最小键值对。
  • K higherKey(K key)
    返回大于指定键的最小键。
  • Map.Entry<K, V> pollFirstEntry()
    返回并移除映射中的第一个键值对。
  • Map.Entry<K, V> pollLastEntry()
    返回并移除映射中的最后一个键值对。

© 著作权归作者所有

本文由 趣代码Blog 创作,采用 知识共享署名4.0 国际许可协议进行许可,本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。

评论关闭