面试题:Java集合类框架的基本接口有哪些?

Java 集合框架(Java Collections Framework)提供了一套丰富的接口和类来存储和操作数据。这些接口定义了集合的基本行为,是集合框架的核心。以下是 Java 集合框架中的基本接口:


1. Collection 接口

  • 作用Collection 是集合框架的根接口,表示一组对象的集合。
  • 主要方法
    • add(E e):添加元素。
    • remove(Object o):删除元素。
    • contains(Object o):判断是否包含元素。
    • size():返回集合大小。
    • iterator():返回迭代器。
  • 子接口
    • ListSetQueue

2. List 接口

  • 作用List 表示有序的集合,允许重复元素。
  • 特点
    • 元素按插入顺序存储。
    • 可以通过索引访问元素。
  • 主要实现类
    • ArrayList:基于动态数组实现,支持快速随机访问。
    • LinkedList:基于双向链表实现,支持快速插入和删除。
    • Vector:线程安全的动态数组(已过时,推荐使用 ArrayList)。
  • 主要方法
    • get(int index):获取指定位置的元素。
    • set(int index, E element):设置指定位置的元素。
    • indexOf(Object o):返回元素的索引。

3. Set 接口

  • 作用Set 表示不允许重复元素的集合。
  • 特点
    • 元素唯一性通过 equals() 和 hashCode() 方法保证。
    • 不保证元素的顺序(除非使用 LinkedHashSet 或 TreeSet)。
  • 主要实现类
    • HashSet:基于哈希表实现,无序。
    • LinkedHashSet:基于哈希表和链表实现,保留插入顺序。
    • TreeSet:基于红黑树实现,元素有序。
  • 主要方法
    • 继承自 Collection 接口,没有新增方法。

4. Queue 接口

  • 作用Queue 表示队列,通常遵循先进先出(FIFO)的原则。
  • 特点
    • 支持在队尾添加元素,在队头移除元素。
  • 主要实现类
    • LinkedList:可以用作队列。
    • PriorityQueue:基于堆实现,元素按优先级排序。
  • 主要方法
    • offer(E e):添加元素到队尾。
    • poll():移除并返回队头元素。
    • peek():返回队头元素但不移除。

5. Deque 接口

  • 作用Deque 是双端队列(Double Ended Queue),支持在两端添加和移除元素。
  • 特点
    • 可以用作栈(后进先出)或队列(先进先出)。
  • 主要实现类
    • ArrayDeque:基于动态数组实现。
    • LinkedList:基于双向链表实现。
  • 主要方法
    • addFirst(E e):在队头添加元素。
    • addLast(E e):在队尾添加元素。
    • removeFirst():移除并返回队头元素。
    • removeLast():移除并返回队尾元素。

6. Map 接口

  • 作用Map 表示键值对的集合,键不允许重复。
  • 特点
    • 键唯一,值可以重复。
    • 不继承自 Collection 接口。
  • 主要实现类
    • HashMap:基于哈希表实现,无序。
    • LinkedHashMap:基于哈希表和链表实现,保留插入顺序。
    • TreeMap:基于红黑树实现,键有序。
  • 主要方法
    • put(K key, V value):添加键值对。
    • get(Object key):根据键获取值。
    • remove(Object key):根据键删除键值对。
    • keySet():返回所有键的集合。
    • values():返回所有值的集合。

7. SortedSet 接口

  • 作用SortedSet 是 Set 的子接口,表示元素有序的集合。
  • 特点
    • 元素按自然顺序或自定义比较器排序。
  • 主要实现类
    • TreeSet
  • 主要方法
    • first():返回第一个元素。
    • last():返回最后一个元素。
    • headSet(E toElement):返回小于指定元素的子集。
    • tailSet(E fromElement):返回大于等于指定元素的子集。

8. SortedMap 接口

  • 作用SortedMap 是 Map 的子接口,表示键有序的键值对集合。
  • 特点
    • 键按自然顺序或自定义比较器排序。
  • 主要实现类
    • TreeMap
  • 主要方法
    • firstKey():返回第一个键。
    • lastKey():返回最后一个键。
    • headMap(K toKey):返回键小于指定键的子映射。
    • tailMap(K fromKey):返回键大于等于指定键的子映射。

9. Iterator 接口

  • 作用Iterator 用于遍历集合中的元素。
  • 主要方法
    • hasNext():判断是否还有下一个元素。
    • next():返回下一个元素。
    • remove():移除当前元素。

10. Iterable 接口

  • 作用Iterable 表示可迭代的集合,提供了 iterator() 方法。
  • 主要方法
    • iterator():返回一个迭代器。

11. Comparable 和 Comparator 接口

  • 作用:用于定义对象的排序规则。
  • Comparable
    • 定义自然排序规则,实现 compareTo() 方法。
  • Comparator
    • 定义自定义排序规则,实现 compare() 方法。

12. 总结

接口说明
Collection集合框架的根接口,表示一组对象的集合。
List有序集合,允许重复元素。
Set无序集合,不允许重复元素。
Queue队列,遵循先进先出(FIFO)原则。
Deque双端队列,支持在两端添加和移除元素。
Map键值对集合,键不允许重复。
SortedSet元素有序的集合。
SortedMap键有序的键值对集合。
Iterator用于遍历集合中的元素。
Iterable表示可迭代的集合。
Comparable定义自然排序规则。
Comparator定义自定义排序规则。
THE END
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容