这里只有结论。关于集合的实现原理大家可以移步到本人主页进行查看哦,与本篇文章紧挨着哦
单列常用集合继承体系
- List ( 列表 ) 有序,可重复,支持索引;Set ( 集合 ) 无序,不可重复,无索引,但取出顺序是固定的
- ArrayList 线程不安全,效率高;Vector 线程安全,效率较低;LinkedList 基本没有使用场景
- 相较于 HashSet ,LinkedHashSet 实现了有序,TreeSet 实现了可自定义排序
双列常用集合继承体系
- Map ( 键值 ) 的 key 不可重复,添加相同 key 时会覆盖,key-value 存在单向的一对一关系,通过 key 总能找到唯一的 value
- HashMap 无序,线程不安全;LinkedHashMap 有序,线程不安全;Hashtable 除线程是安全的以外基本等同于 HashMap;Properties 继承自 Hashtable ,主要用于从 properties 文件中加载数据到 Properties 类对象中,然后进行读取和修改(通常与 IO 流一起使用);TreeMap 可以根据 key 值决定元素的顺序