1.高级for循环
格式: for(类型 变量名: 被遍历的集合(Collection)或者数组),Collection extends Iterable<E> Iterable有迭代器可以使用高级for循环
2.遍历方式
1).使用高级for循环对集合进行遍历,只能读取不能对其进行操作;
2).使用Iterator迭代器,只多了一个remove的操作;
3).使用ListIterator,除具有以上功能操作之外,还具有增删修改功能!
3.高级for循环与普通for循环的区别
高级for循环必须具有遍历的目标,可以理解为集合中的元素依次取出,所有元素只能取出一次!当实现重复动作时,高级for循环不能完成!比如循环打字字符串"ABCD",由于所有元素只取出一次,不可完成重复动作!
/*
高级for循环的应用
Strawberry2013-4-30
*/
import java.util.*;
class Demo
{
public static void main(String[] args)
{
TreeMap<Integer,Person> tm = new TreeMap<Integer,Person>(new Comp());
tm.put(2, new Person("zh")); //注意:比较器只能比较key,因为只有key具有唯一性
tm.put(5, new Person("li"));
tm.put(3, new Person("aa"));
for(Integer i: tm.keySet()) //11111111111111111111111111111一种keySet()高级for循环遍历方式
{
sop("id:" + i +" name:" +tm.get(i).getName());
}
for(Map.Entry<Integer, Person> s: tm.entrySet())//222222222第二种entrySet()遍历方式
{
sop("id:" + s.getKey() +" name:" +s.getValue().getName());
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
class Person
{
private String name;
Person(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
}
class Comp implements Comparator<Integer>
{
public int compare(Integer p1, Integer p2)
{
return p1 - p2;
}
}