List
ArrayList
数组实现,数据按照插入顺序排放,有可能需要重新分配空间,插入速度稍差,按照索引查找性能较好
LinkedList
链表实现,通过指针将所有元素连接起来,不需要重新分配空间,插入速度好,查找速度不如ArrayList
Map
HashMap
采用数组存储数据,无序,根据Key的hash码计算存储位置,插入和获取时间,可以看成常量,Key的hashCode和equals方法要重写
TreeMap
采用红黑树存储数据,会对插入数据进行排序,Key需要实现Comparator接口,或者构造时传入Comparator的实现实例
LinkedHashMap
在HashMap的基础上,增加链表保存插入顺序,通过迭代器遍历访问时,速度优秀,插入性能比HashMap稍差
Set
Set可以看成是Map的一种代理