Java_高级for循环

 

本博客为子墨原创,转载请注明出处!
http://blog.csdn.net/zimo2013/article/details/8870289

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

你可能感兴趣的:(for,高级for循环,增强for循环)