三大集合对比整理
Collection 子接口有 List Set
List:
ArrayList 查询快 增删慢 (存读)有序可重复 不同步 数据增长默认原来的一半
常见方法:
add(E e) 添加 返回boolean
size () 列表中的元素数
remove(int index) 删除指定元素 返回指定类型E
get(int index) 获得指定元素 返回指定类型E
clear() 列表中删除所有元素 返回viod
contains(Object o) 此列表包含指定的元素 包含返回true
indexOf(Object o) 元素的第一次出现的下标 不包含 返回-1
iterator() 返回该列表中的元素的迭代器
toArray() 返回一个包含此列表中所有元素的数组
方法基本都类似具体看api;
linkedList 查询慢 增删快 有序(存储和读取)可以重复 不同步
Vector 与ArrayList类似(过时了) 区别Vector同步 数据增长默认原来的一倍
Set:
HashSet 是无序的(存储和读取),不可重复 不同步
TreeSet 不可重复 底层是二叉树 默认排序自然排序(还可以自定义排序) 不同步
LinkedHashSet 不可以重复 有序 (存读顺序一致) (底层是双向链表) 不同步
Map
常见方法:
put(k,v) 一个key一个value;(如果新增的key存在则返回key以前对应的value)
get(key) 接收的是value; 返回value
containsKey(obkject key)//判断key值是否存在 存在返回true;
remove (object key);通过key值删除map集合数
size()map集合长度
keySet();//把map中所有的Key放入Set集合
entrySet();//把映射关系转化为set集合;
values();//返回一个集合 此集合装map中的value
hashCode() 返回此集合的哈希码值。
replace(K key, V value) 替换上一个与此key相等的键值对 返回上一个键的value
clone() 返回此 HashMap实例的浅拷贝:键和值本身不被克隆
HashMap Key不可重复,value可重复 无序的 不同步 允许null放到key value 线程不安全;
Hashtable 与HashMap类似,不予许null为Key或value 线程安全同步的
WeakHashMap一种改进的HashMap,它对key实行“弱引用”,如果一个key不再被外部所引用,那么该key可以被GC回收
LinkedHashMap 有序的(存储和读取) 链表结构
TreeMap 有序不可重复 不安全的
详细请看api