Java集合: 罗列一下常见的数据结构有哪些?

  1. 数组 (Array)
  • 固定大小,连续内存存储,适用于快速随机访问。
  1. 链表 (Linked List)
  • 包括单向链表、双向链表和循环链表,适用于频繁插入和删除操作。
  1. 栈 (Stack)
  • 后进先出 (LIFO) 结构,常用于递归、表达式求值等场景。
  1. 队列 (Queue)
  • 先进先出 (FIFO) 结构,包括普通队列、双端队列 (Deque) 和优先队列 (PriorityQueue)。
  1. 集合 (Set)
  • 不允许重复元素,常见实现有:
    • HashSet:基于哈希表实现,无序存储
    • TreeSet:基于红黑树实现,自动排序。
    • LinkedHashSet:保持插入顺序。
  1. 映射 (Map)
  • 存储键值对 (Key-Value),常见实现有:
    • HashMap:基于哈希表实现,允许 null 键和 null 值。
    • TreeMap:基于红黑树实现,键自动排序。
    • LinkedHashMap:保持插入顺序或访问顺序。
    • Hashtable:线程安全的实现(但效率较低)。
  1. 树 (Tree)
  • 如二叉树、红黑树、AVL 树等,很多集合类(如 TreeMap、TreeSet)的底层就是用树结构实现。
  1. 图 (Graph)
  • 用于表示实体间的复杂关系,虽然 Java 标准库没有直接提供图的数据结构,但可以通过邻接表或邻接矩阵自定义实现。
posted @ 2025-04-02 20:45  kuki'  阅读(49)  评论(0)    收藏  举报