·类框架的最大接口: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
·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