Java 高级

数据结构

数组、列表、集合、映射、栈、队列、堆、树。

Java 集合框架

Java 集合架构图

类型 描述 特点 常用实现类
Collection 单列数据集合的根接口 存储一组对象的容器 (它下面有List和Set)
List 有序、可重复的集合 有索引,允许重复,元素有顺序 ArrayList, LinkedList, Vector
Set 唯一、无序的集合 不允许重复元素,不保证顺序 HashSet, LinkedHashSet, TreeSet
Map 双列数据的集合 存储键值对(Key-Value),Key唯一 HashMap, LinkedHashMap, TreeMap, Hashtable
Collections 操作集合的工具类 提供了一系列静态方法,用于对集合进行排序、搜索、线程安全化等操作 (这是一个工具类,不是接口)

迭代器

Comparator

ArrayList

它可以动态修改数组,没有固定大小,可以删除和添加元素。
ArrayList

详细api方法可以查看:官方API文档

LinkedList

链表(Linked list)是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。
链表可以分为单链表和双链表。
与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。

LinkedList

  • LinkedList 继承了 AbstractSequentialList 类。
  • LinkedList 实现了 Queue 接口,可作为队列使用。
  • LinkedList 实现了 List 接口,可进行列表的相关操作。
  • LinkedList 实现了 Deque 接口,可作为队列使用。
  • LinkedList 实现了 Cloneable 接口,可实现克隆。
  • LinkedList 实现了 java.io.Serializable 接口,即可支持序列化,能通过序列化去传输。