Collection
List((存取有序,有索引,可以重复)
ArrayList
底层是数组,线程不安全,查找跟修改快,增删慢
LinkedList
底层是链表实现的,线程不安全,增跟删比较快,查找跟修改比较慢
Vertor
底层是数值实现的,线程安全的,无论增删改查都慢
如果查找跟修改多,就使用ArrayList
如果增删多,就使用LinkedList
如果都有就使用ArrayList
Set(存取无序,无索引,不可以重复)
HashSet
底层是Hash算法
LinkedHashSet
底层是链表,但是可以保证元素唯一,和HashSet原理一样
TreeSet
底层是二叉树,
一般在开发的时候,不需要对存储的元素进行排序,所以在开发的时候,大多都使用HashSet。
TreeSet在面试的时候比较多
询问:有几种排序方式和几种排序方式的区别
HashSet的效率比较高
Map
HashMap
底层是Hash算法,针对键
底层是LInkedHashMap
底层是链表,针对键
TreeMap
底层是二叉树算法,是针对键
开发中使用HashMap比较多
TreeMap在面试的时候比较多
欢迎关注微信公众号:“Coding World”
获取更多相关的技术