java中的Collection框架表示的是集合,须要管理多个对象时能够使用Collection中的类,框架分为3层java
1. 接口 2. 抽象类 3. 实际使用中的类数组
java集合有6大接口安全
1. 最基本的是Collection接口数据结构
2. 而后是Set,List,SortedSet接口,继承于Collection接口框架
3. 两外的Map和SortedMap接口,其实准确而言是映射,而不是集合工具
Collections是集合类的一个工具类,或者说是帮助类,不能实例化,封装了一系列的static方法,能够直接拿来调用,还能够控制线程安全等操做。spa
List:链表,元素是有序排列的线程
Collection(接口)——List(接口,能够直接拿来使用)——Vector——Stack(栈,经常使用的数据结构)对象
Collection(接口)——List(接口,能够直接拿来使用)——ArrayList(其实就是一个动态的数组,能够方便查找)排序
Collection(接口)——List(接口,能够直接拿来使用)——LinkedList(是一个双向的链表)
Stack<Integer> st = new Stack<Integer>();
st.push(int);
st.pop(); //返回栈顶并删除元素
st.peak(); //返回栈顶元素,可是不删除
st.isEmpty(); //判断栈是否为空
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(int);
list.get(index); //返回某个index对应的值
list.size(); //返回链表的长度
Queue<Integer> q = new LinkedList<Integer>(); //java中queue是一个接口,所以须要其余实现接口的类来代替
q.offer(int); //近队列
q.poll(); //出队列
q.peek(); //队列头部数据
q.isEmpty(); //判断队列是否为空
Set:集合中的元素不容许重复,方法与Collection彻底相同,接口基本一致
Collection(接口)——Set(接口)——HashSet(类)
Collection(接口)——Set(接口)——HashSet(类)——LinkedHashSet(类)
Collection(接口)——Set(接口)——SortedSet(接口)——TreeSet(排序类)
Set的实现其实基础是Map(HashMap),元素不能重复,重复的话会自动覆盖前面的对象
Map:每一个元素包含两个部分,键(Key)和值(Value),同一个Map中不容许使用相同的键,但能够只用相同的值
Map(接口)——HashMap(最经常使用,key值不容许重复,不然会被覆盖。非synchronized的,随着时间推移,元素次序可能会变,容许null键和null值)
Map(接口)——HashTable(比较过期,同步的)
Map(接口)——WeakHashMap
HashMap hm = new HashMap();
hm.containsKey(key);
hm.put(key,value);