哥们,整理的一点资料,希望能帮到你
Collection
|--List:元素是有序的,有索引,所以可以重复
|--ArrayList:底层使用的是数组数据结构,线程不同步,查询快,增删慢,默认长度是10,不够时,系统自动以50%比率延长。
|--LinkedList:底层使用的是链表数据结构,增删快,查询慢
|--vector:底层是数组结构,1.0版本出现,是同步的,被ArrayList替代。
|--Set:元素是无序的,不可以重复
|--HashSet底层是哈希表数据结构,线程是不同步的,添加进的对象按哈希表特有方式排序,保证元素唯一性的原理是判断元素的hashcode值是否相同,如果相同,还会使用元素的equals方法进行判断
|--TreeSet可以对set集合中的元素进行自然排序,但往里边存的对象必须具备比较性。
Map集合,存储键值对,而且要保证键的唯一
|--Hashtable底层是哈希表数据结构,不可以存入null作为键和值,线程同步JDK1.0出现,效率低
|--HashMap底层是哈希表数据结构,允许使用null键null值,线程不同步,JDK1.2出现,效率高
|--TreeMap底层是二叉树结构,线程不同步,可以用于给Map集合中的键进行排序
其实,Set底层就是使用了Map集合
|