java 集合类框架图
java.util 包提供了常见的java容器类。而在jdk中还有一个java.util.concurrent包,java.util.concurrent包含很多线程安全,测试良好,高性能的构建块。下图仅是基于java.util包手绘的集合框架图。
总结:
1、线程安全容器:Vector, Hashtable, Stack
2、ArrayList 和 LinkedList区别:
ArrayList基于数组的结构,查询高效,但是增删慢(数组移动)。
LinkedList基于链表的结构,增删高效,查询慢(索引移动)。
3、HashMap jdk 1.8之前基于数组+链表的结构实现。
jdk1.8之后基于数组+链表+红黑树的结构实现(链表节点大于8转成红黑树结构,查询效率高)。