首先呢,java分为单列集合和双列集合,单列集合的顶级接口是Collection,双列集合的顶级接口是Map。
1.list接口的特点:元素可重复,有序(存取顺序)。
list接口的实现类:
ArrayList:底层实现是数组,查询快,增删慢,线程不安全,效率高;
Vector:底层实现是数组,查询快,增删慢,线程安全,效率低;【淘汰】
LinkedList:底层实现是链表,增删快,查询慢,线程不安全,效率高;
2.Set 接口的特点:元素唯一,不可重复,无序。
Set 接口实现类:
HashSet:底层实现 hashMap,数组+链表实现,不允许元素重复,无序。
TreeSet:底层实现红黑二叉树,实现元素排序
目录
一、Collection的子接口有两个List和Set:
二、Map 接口的特点:key-value 键值对形式存储数据
Map 接口实现类:
HashMap:底层数组+链表实现,线程不安全效率高;
TreeMap:底层红黑二叉树实现,可实现元素的排序;
LinkedHashMap:底层 hashmap+linkedList 实现,通过 hashmap 实现 key-value 键值对存储,通过链表实现元素有 序