collection和map
collection,包括list和set。
list主要有arraylist、linklist和vector。
arraylist和vector实现都是数组。
linklist它的底层实现是链表。
我们主要常用的是Arratlist,它是线程不安全的,然后查询相对于快一些。
Linklist是线程安全的,增删相对比较快一些。vector是线程安全的,加了同步锁,增删比arraylist慢一些。
set分为hashset和treeset。
HashSet中的元素是无序的。集合元素可以是null,但只能放入一个null。
treeset有序二叉树。
Map分为hashMap和hashtable,treemap。
hashMap在java8之前是数组加链表,在Java8之后是数组链表加红黑树,在节点大于八的时候会自动转为红黑树,当节点小于六的时候会退回链表,线程不安全,
hashtable线程安全。
treemap为有序的二叉树。