Java-循环遍历(for循环、Iterator接口、foreach循环)
目录
Iterator接口:
Iterator接口是Java集合中的一员,主要用于迭代访问(即遍历)Collection中的元素,iterator对象也被称为迭代器。
public static void main(String[] args){
ArrayList list = new ArrayList();
list.add("1");
list.add("1");
list.add("1");
list.add("1");
Iterator it = list.iterator(); //获取Iterator对象
while(it.hashNext()){ //判断ArrayList中是否存在下一个元素
Object obj = it.next(); //取出ArrayList集合中的元素
System.out.println(obj);
}
}
foreach循环(增强for循环):
foreach 是Java5新增,在遍历数组、集合的时候有不错的性能。
foreach 语法格式
for(元素类型 每次循环的元素名称 : 循环对象){
}
public class Test{
//使用方式一:遍历数组
public static void main(String[] args){
String[] strs = {"小张","小韩","小薰"};
for(String names : strs){
System.out.println(names);
}
}
//使用方式二:遍历集合-List
public static void main(String[] args){
List<String> list = new ArrayList<String>();
list.add("小张");
list.add("小韩");
list.add("小薰");
for(String names : list){
System.out.println(names);
}
}
}
局限性:
当使用foreach循环遍历集合和数组时,只能访问集合中的元素,不能对元素进行修改。
public class Test{
static String[] strs = {"aaa","bbb","ccc"};
public static void main(String[] args){
//foreach循环遍历数组
for(String str:strs){
str = "ddd";
}
System.out.println("foreach循环修改后的数组:"+strs[0]+","+strs[1]+","+strs[2]); //aaa bbb ccc
//for循环遍历数组
for(int i = 0;i < strs.length;i++){
strs[i] = "ddd";
}
System.out.println("普通循环修改后的数组:"+strs[0]+","+strs[1]+","+strs[2]); //ddd ddd ddd
}
}