Java语言-22:三种常用的遍历方法及其特点for、Iterator、foreach循环

1、for()循环方法

                for()循环方法是最容易理解,也是最先接触的一种循环,在实际开发中也用的相当广泛,在数组和集合这一部分通常用作遍历数组或者集合元素,

            其格式为:for(循环变量;判断条件;变量累加){

                    循环体;

}

        比如用于遍历元素:for(int x = 0;x < arr.length-1;x++){

                System.out,println(arr[x]);                

}

                但for循环在用于集合的时候,则显得程序不简洁;故而引出了迭代方法:Iterator

2、Iterator迭代器迭代方法

            Iterator迭代器对象遍历集合时,内部采用指针的方式来跟踪集合中的元素,通常与next()方法一同使用。

下面通过一个实例来说明其特点和用法

            package Iterator;


import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Scanner;


/*
 * Iterator iterator() :集合的迭代器方法(获取集合的迭代器)
 *
 *集合的专有遍历方式:迭代器遍历
 *
 * Iterator :接口中有以下的方法:
 * boolean hasNext() :如果有元素可以迭代(遍历),那么返回true,否则返回false
 * Object next()返回迭代的下一个元素。 
 * 存储String类型的元素
 * */
public class Iterator_method {


public static void main(String[] args) {
// 创建集合对象
Collection c = new ArrayList();
// 添加集合元素
c.add("i");
c.add("love");
c.add("a girl");


// 通过集合获取迭代器
Iterator it = c.iterator();


// 判断是否有下一个元素
while (it.hasNext()) {


// 以字符串形式输出
String str = (String) (it.next());


// 输出字符串并输出各字符串的长度
System.out.println(str + "---" + str.length());
/*
* 输出结果为: i---1 love---4 a girl---6

*/

            在使用Iterator迭代器对集合中的元素进行遍历时,如果调用集合对象的remove方法删除元素时,会出现异常。

3、foreach循环

            虽然Iterator可以用来遍历集合中的元素,但写法繁琐,为简化书写,故在JDK5以后加入了foreach循环。其本质是一种更为简洁的for循环。故可称之为增强for循环。foreach循环主要用于遍历数组或集合中的元素。

        其语法格式为:

                    for(容器中的元素类型 临时变量 : 容器变量){

                            执行语句;

}

                下来通过程序代码来体现它的特性和使用规则:

                            package foreach;


import java.util.ArrayList;


/*
 * 需求:使用foreach循环遍历集合元素
 * */
public class foreach {


public static void main(String[] args) {
//创建ArrayList集合
ArrayList list = new ArrayList();

//给集合添加元素
list.add("hello");
list.add("world");
list.add("java");
list.add("apple");
list.add("shut");

//输出并打印该集合
//遍历该集合元素
for(Object obj :list){
System.out.println(list);
}
}

}

            foreach循环的局限性:foreach循环遍历集合和数组时,只能访问集合中的元素,不能对其中的元素进行修改。

            

    

猜你喜欢

转载自blog.csdn.net/qq_41833394/article/details/80245058