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循环遍历集合和数组时,只能访问集合中的元素,不能对其中的元素进行修改。