List|Set|Map介绍
List
ArrayList Vector 线程同步 synchronized
在同一个时间点,只有一个线程拥有锁标记
LinkedList: 链表
Stack 栈 : LIFO 后进先出
push
peek
pop
Queue 队列 : FIFO
offer(); add();
peek(); element();
poll(); remove();
并发处理集合: ArrayBlokingQueue;
=================================================================
Set: 无序,不可重复
HashSet: 包装类,自定义类型
TreeSet: 有序的,自然排序 implement Comparable 重写 , 自制排序 implement Comparator
forEach 1.5 使用迭代器实现 remove方法不可以再forEach
java 1.5 限定不可以再forEach 做删除操作
=================================================================
Map:
Collection:
List, Set 单值存储
Map:对 键---值 Key---Value
常用的实现类: HashMap线程不安全的 HashTable 线程安全的
values(); 返回当前map集合中所有的值
keySet(); 返回当前map集合中所有的键
get(Key k);返回当前Key 映射 的值
HashMap中的键和值都可以为null
map.containsKey(null);
map.containsValue("三国演义");
entrySet(); 返回一个Set集合,Set集合中存储的是Entry对象
我们想同时获得map的键值对 , 需要调用Entry类中的getValue();getKey();
TreeMap: 树结构 二叉树
TreeMap中的键一般都是java中提供的类型,添加自定义类型没有意义,我们也不会这么做
HashMap和HashTable
HashMap线程不安全的
HashTable 线程安全的 中键和值都不可以为空
Your effort is to live up to yourself.