类集框架及容器遍历

·类框架的最大接口:Collection、Map、Iterator、Enumeration

·Collection:存放单值

       |-List:允许重复值

              |-ArrayList:异步处理,非线程安全,新的

              |-Vector:同步处理,线程安全,支持Enumeration输出,旧的

       |-Set:不允许有重复内容,考hashCode()和equals()进行重复验证

              |-HashSet:无序存放

              |-TreeSet:有序存放,按Comparable排序

·Map:存放一对值

       |-HashMap:新的类,异步处理,非线程安全,允许null

       |-HashTable:旧的类,同步处理,非线程安全,不允许null

       |-TreeMap:有序排列,按key排序,按Comparable排序

·Iterator:

       |-迭代输出,依靠Collection和Map中的Iterator方法输出,是新的输出标准

·Enumeration:旧的输出操作

所有的Collection都可以用一下3种方法遍历:

      1.for(int i=0; i<c.size(); i++) {           
            String s = c.get(i);
            System.out.println(s);
        }   
       
      2.for(String s: c){
            System.out.println(s);
        }      
       
      3.Iterator<String> i=c.iterator();
        while(i.hasNext()){
            System.out.println(i.next());
        }

而Map可用一下2种方法

//JDK1.5  
Map map = new HashMap();    
for(Object obj : map.keySet()) {    
    Object key = obj;    
    Object value = map.get(obj);    
}  
 
//JDK1.4  
Map map =  new HashMap()   ;    
Iterator iter = map.entrySet().iterator();    
while(iter.hasNext()) {    
    Map.Entry entry = (Map.Entry)iter.next();    
    Object key = entry.getKey();    
    Object value = entry.getValue();    
}


注:其实增强的for循环就是简化了Iterator的写法,上面的2种写法各有含Iterator或省略的写法,参见:

http://hi.baidu.com/zzzkkk666/blog/item/87d46789235fbab90f244456.html

你可能感兴趣的:(C++,c,框架,Blog,C#)