本帖最后由 蚂蚁搬家 于 2013-7-18 16:04 编辑
增强的for循环(也叫for-each):for(需遍历的变量:数组或集合){执行语句}:主要用于集合(Collection接口下的集合),底层通过调用iterator实现集合的遍历;这种遍历方式只能获取集合中的元素,不能对集合进行操作,迭代器可以对元素进行remove,ListIterator更是可以对元素进行增删改查;
用增强for循环遍历ArrayList集合:
for(String str : al)
{
System.out.println(str);
}
用迭代器遍历ArrayList集合:
for(Iterator it = al.iterator(); it.hasNext();)
{
System.out.println(it.next());
}
增强for循环的局限性:必须指定遍历的对象,在遍历数组时还是推荐使用传统的for循环,传统方式可以指定下标;
Map不支持迭代器,自然不支持for循环遍历;
Map集合取出元素的方式一:keySet方法:Map集合中没有迭代器,可以把集合里所有的键取出存入Set集合(keySet方法),用Set集合的迭代器将键一一取出,并用Map集合的get方法取出键对应的值;
Map集合取出元素的方式二:entrySet方法:返回集合中映射关系的Set集合,返回的Set集合中的元素是Map.Entry类型的,然后通过Set的迭代器取出Map.Entry,用该接口中的getKey方法和getValue方法取出键和值;
|