collection 笔记

collection主要方法:

boolean add(Object o)添加对象到集合
boolean remove(Object o)删除指定的对象
int size()返回当前集合中元素的数量
boolean contains(Object o)查找集合中是否有指定的对象
boolean isEmpty()判断集合是否为空
Iterator iterator()返回一个迭代器
boolean containsAll(Collection c)查找集合中是否有集合c中的元素
boolean addAll(Collection c)将集合c中所有的元素添加给该集合
void clear()删除集合中所有元素
void removeAll(Collection c)从集合中删除c集合中也有的元素
void retainAll(Collection c)从集合中删除集合c中不包含的元素

collection 笔记

ArrayList:(扩容是一次50%)

底层是集合,线程不安全,读和修改快,增删慢

LinkedList

底层是链表,线程不安全,读慢,增删快

Vector(扩容是一次翻一倍)

底层是集合,使用synchronized线程安全,效率较慢

 

HashSet

底层是hashMap,key&value都是自己。无序的。不重复

TreeSet

底层是TreeMap(用二叉排序树)保证元素的有序性和唯一性,有序的,不重复

顺序需要实现Comparable接口,重写equals和hashcode

 

Map不是collection下的这里只是笔记记录:

HashMap(HashMap通过hashcode对其内容进行快速查找

线程非安全,允许null作为key和value

key不可以重复,value允许重复,不能保证存储顺序

TreeMap(而TreeMap中所有的元素都保持着某种固定的顺序

线程非安全,不允许null,key不可以重复,value允许重复,有序的

存入TreeMap的元素应当实现Comparable接口或者实现Comparator接口

HashTable

不允许记录的键或者值为null

是HashMap的线程安全版,它支持线程的同步,效率较慢