结构特点
-
List
单列数据集合,Map
双列数据的集合; -
List 集合中对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,例如通过list.get(i)方法来获取集合中的元素;
Map 中的每一个元素都是键值对,键不可以重复,值可以重复;
实现类
1、List接口有三个实现类:
1.1 LinkedList
基于链表实现,链表内存是散列的,增删快,查找慢;
1.2 ArrayList
基于数组实现,非线程安全,效率高,增删慢,查找快;
1.3 Vector
基于数组实现,线程安全,效率低,增删慢,查找慢;
2、Map接口有四个实现类:
2.1 HashMap
基于 hash 表的 Map 接口实现,非线程安全,高效,支持 null 值和 null键;
2.2 HashTable
线程安全,低效,不支持 null 值和 null 键;
2.3 LinkedHashMap
是 HashMap 的一个子类,保存了记录的插入顺序;
2.4 SortMap 接口
TreeMap,能够把它保存的记录根据键排序,默认是键值的升序排序
list和map的区别
List是存储单列数据的集合,存储的数据是有序并且是可以重复的;Map存储双列数据的集合,通过键值对存储数据,存储 的数据是无序的,Key值不能重复,value值可以重复。