你在项目中使用过哪些集合?使用的原因?该集合的底层原理是?
- 使用过哪些集合:
主要使用过的有ArrayList、HashMap - 使用的原因:
使用ArrayList存储顺序表结构的数据
使用HashMap存储键值对的数据 - 底层原理:
ArrayList的底层使用的是
HashMap的底层使用的是
Collection接口 不唯一、无序
List接口 不唯一、有序
ArrayList实现类 连续可变数组【遍历与随机访问效率高、添加删除及按内容查找效率低】
LinkedList实现类 双向链表【遍历与随机访问效率低、添加删除及按内容查找效率高】
Set接口 唯一、无序
HashSet实现类 哈希表存储结构【添加查询删除速度快】
LinkedHashSet实现类 哈希表及链表【添加有序】
TreeSet实现类 红黑树【按内容查询比list快,但没有HashSet快、有序】
Map接口 键值对【key唯一无序、value不唯一无序】
HashMap实现类 key为Set【无序唯一】、value为Collection【无序不唯一】
LinkedHashMap实现类 有序的HashMap
TreeMap实现类 有序