常用几种集合的数据结构
ArrayList
底层是数组结构,查询快,增删慢,线程不安全,可以为null
在表后端增加一个元素花费常数时间,而在表的前端增加一个元素花费O(N*N)(要将所有元素向后移一位),获取所有元素和花费O(N)。
LinkedList
底层是双向链表,查询慢,增删快,线程不安全,可重复,不能weinull
在表的前后端添加元素都消耗常数时间。获取所有元素和花费O(N*N),(get方法的调用为O(N))。
list有序,可以重复,可以存null。
set不能重复,无序,不能存null。
hashmap的key,value都可以存null,无序,key不可以重复,value可以重复,hashmap,非同步,线程不安全。
hashtable不允许key,value为空,当发生冲突桶中的node和冲突的node会连成一个链表
set:不可重复,只能有一个空值,无序