本节课我学习的主要内容有:
如何遍历元素
如何遍历元素:
方法:
使用Iterator迭代器
使用forEach方法
使用for-each循环。
Iterator迭代器:
第一步现判断容器是否还有元素。
第二步访问容器中下一个元素并且操作(可以是删除操作啥的)。
for-each循环:
前置:Collection接口继承Iterator接口。
遍历的顺序从第一个元素开始直至最后一个元素。
但是他在遍历的同时像迭代器那样删除元素会抛出异常。
forEach方法(看情况使用):
来自于Iterator接口。
方法的参数是Consumer类型的参数,正好可以使用Lambda表达式来实现遍历操作
或者是使用方法引用来实现遍历操作。
UseIteratorToTraverse类(测试第一张遍历方法):
package LessonForTraverse;
import java.util.*;
public class UseIteratorToTraverse
{
public static void main(String[] args)
{
Collection<Integer> cle1 = new ArrayList<Integer>();
cle1.add(1);
cle1.add(2);
cle1.add(3);
cle1.add(4);
Iterator<Integer> i1 = cle1.iterator();
while (i1.hasNext())//判断迭代器是否为空
{
System.out.println("cle1中的元素有:" + i1.next());
System.out.println("删除当前元素!");
i1.remove();
}
if (i1.hasNext() == false)//判断迭代器是否为空,此时删除完毕
{
System.out.println("此时元素已经被删除殆尽");
System.out.println("所以cle1的长度为:"+cle1.size());
}
}
}
UseForEachToTraverse类(测试二三种遍历方法):
package LessonForTraverse;
import java.util.*;
public class UseForEachToTraverse
{
public static void main(String[] args)
{
Collection<String> c1 = new ArrayList<String>();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
for (String s:c1)
{
System.out.println("c1中的元素有:"+s);
}
System.out.println("=========forEach=========");
//不建议使用forEach方法
//运用Lambda表达式
c1.forEach(s->{
System.out.println("c1中的元素有:"+s);//这里的s是参数s
});
//运用方法引用:
c1.forEach(System.out::println);
}
}
本篇部分文字来源于:
咕嘟咖啡杨海滨老师 — 《java编程语言高级特性》
在这里十分感谢老师能够给我带来学习的激情。
2020.10.29
本文章是本人学习笔记,不进行任何商用所以不支持转载请理解!也请别拿去商用!
如果觉得对你有帮助那么欢迎你随时来回顾!
只为记录本人学习历程。
毕