java——Collection框架,Collections

java中的Collection框架表示的是集合,需要管理多个对象时可以使用Collection中的类,框架分为3层

1. 接口  2. 抽象类  3. 实际使用中的类

java集合有6大接口

1. 最基本的是Collection接口

2. 然后是Set,List,SortedSet接口,继承于Collection接口

3. 两外的Map和SortedMap接口,其实准确而言是映射,而不是集合

 

Collections是集合类的一个工具类,或者说是帮助类,不能实例化,封装了一系列的static方法,可以直接拿来调用,还可以控制线程安全等操作。

 

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);

 

posted @ 2017-08-25 17:21  东木刀纹  阅读(2741)  评论(0编辑  收藏  举报