Java中Collection和Collections,Map

http://pengcqu.iteye.com/blog/492196

1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
 Collection   
├List   
│├LinkedList   
│├ArrayList   
│└Vector   
│ └Stack   
└Set 
 
Map
|-HashMap
|-Hashtable 
|-WeakHashMap 
 
详细介绍: 
List特点:元素有放入顺序,元素可重复 
Map特点:元素按键值对存储,无放入顺序 
Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的) 
List接口有三个实现类:LinkedList,ArrayList,Vector 
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢 
ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低 
Set接口有两个实现类:HashSet(底层由HashMap实现),LinkedHashSet 
SortedSet接口有一个实现类:TreeSet(底层由平衡二叉树实现) 
Query接口有一个实现类:LinkList 
Map接口有三个实现类:HashMap,HashTable,LinkeHashMap 
  HashMap非线程安全,高效,支持null;HashTable线程安全,低效,不支持null 
SortedMap有一个实现类:TreeMap 
其实最主要的是,list是用来处理序列的,而set是用来处理集的。Map是知道的,存储的是键值对 
set 一般无序不重复.map kv 结构 list 有序 
 
 
 
Set<String> set = new HashSet<String>();  
   set.add("a");  
   set.add("b");  
   set.add("c");  
   set.add("d");  
   set.add("d");  
   set.add("d");  
   set.add("d");  
   set.add("uuu");  
   set.add("e");  
    
    
   Iterator<String> it = set.iterator();  
   while (it.hasNext()) {  
    System.out.println(it.next());  
   }  

 

 
2、java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类
 
如:
  1. for (int i = 0; i < array.length; i++) {  
  2.             list.add(new Double(array[i]));  
  3.         }  
  4.         Collections.sort(list);  
 

posted on 2014-03-31 14:53  wjw334  阅读(445)  评论(0编辑  收藏  举报

导航