Java 高级
数据结构
数组、列表、集合、映射、栈、队列、堆、树。
Java 集合框架
类型 | 描述 | 特点 | 常用实现类 |
---|---|---|---|
Collection |
单列数据集合的根接口 | 存储一组对象的容器 | (它下面有List和Set) |
List |
有序、可重复的集合 | 有索引,允许重复,元素有顺序 | ArrayList , LinkedList , Vector |
Set |
唯一、无序的集合 | 不允许重复元素,不保证顺序 | HashSet , LinkedHashSet , TreeSet |
Map |
双列数据的集合 | 存储键值对(Key-Value),Key唯一 | HashMap , LinkedHashMap , TreeMap , Hashtable |
Collections |
操作集合的工具类 | 提供了一系列静态方法,用于对集合进行排序、搜索、线程安全化等操作 | (这是一个工具类,不是接口) |
迭代器
Comparator
ArrayList
它可以动态修改数组,没有固定大小,可以删除和添加元素。
详细api方法可以查看:官方API文档
LinkedList
链表(Linked list)是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。
链表可以分为单链表和双链表。
与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。
- LinkedList 继承了 AbstractSequentialList 类。
- LinkedList 实现了 Queue 接口,可作为队列使用。
- LinkedList 实现了 List 接口,可进行列表的相关操作。
- LinkedList 实现了 Deque 接口,可作为队列使用。
- LinkedList 实现了 Cloneable 接口,可实现克隆。
- LinkedList 实现了 java.io.Serializable 接口,即可支持序列化,能通过序列化去传输。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 coder-xuyong!
评论