1 数组(Array):随机读速度快,不适合移动、删除元素,存储类型单一。
2 链表(Linked List):递归的数据结构;单向链表、双向链表、环形链表。自定义类+泛型,适合移动、增加、删除,不适合堆积读取。
3 栈(Stack):先进后出的原则,都是线性表。
4 队列(Queue):先进先出(FIFO)。
5 树(Tree):有限节点组成的具有层次关系的集合。完全二叉树、红黑树、B+树(自平衡)。
6 堆(Heap):是一棵树的数组对象,根节点最小/大——小/大根堆。
7 图(Graph):复杂的非线性结构,由顶点的有穷非空集合和顶点之间的边的集合构成。G(V,E),G——图,V——顶点,E——边的集合。
8 哈希表(Hash Table):键值对,实现快速查找、插入和删除,由Hash函数实现,java哈希冲突时,数组+链表(拉链法)。