迭代器遍历,增强for遍历
目录
一.迭代器遍历
二.增强for遍历
三.Lambda表达式遍历
一.迭代器遍历
迭代器遍历:迭代器在Java中的类是Ilterator,迭代器是集合专用的遍历方式;
创建指针,判断是否有元素,获取元素,移动指针;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class CollectionDemo2 {public static void main(String[] args) {//1.创建集合并添加元素Collection<String> coll=new ArrayList<>();coll.add("aaa");coll.add("bbb");coll.add("ccc");coll.add("ddd");//2.获取迭代器对象//迭代器就好比是一个箭头,默认指向集合的0索引;Iterator<String> it= coll.iterator();//3.利用循环不断地去获取集合的每一个元素while(it.hasNext()){while(it.hasNext()){String str=it.next();System.out.println(str);}}}
}
注意:
1.若当前位置没有元素,还要强行获取,报错NoSuchElementException;
System.out.println(it.next());
2.迭代器遍历完毕,指针不会复位;
System.out.println(it.hasNext());
3.循环只能用一次next方法;
//打印两遍和打印一遍输出结果一样;
4.迭代器遍历时,不能用集合的方法进行添加或者删除;
二.增强for遍历
- 增强for的底层就是迭代器,为了简化迭代器的代码书写的;
- 它是JDL5之后出现的,其内部原理就是一个Iterator迭代器;
- 所有的单列集合和数组才能用增强for进行遍历;
- 修改增强for中的变量,不会改变集合中原本的数据;
格式:
for(元素的数据类型 变量名:数组或者集合){
}
import java.util.ArrayList;
import java.util.Collection;public class CollectionDemo3 {public static void main(String[] args) {//1.创建集合,添加元素;Collection<String> coll=new ArrayList<>();coll.add("zhangsan");coll.add("lisi");coll.add("wangwu");//2.利用增强for进行遍历;//s:第三方变量,在循环中依次表示集合中每一个数据;for(String s:coll){System.out.println(s);}}
}
三.Lambda表达式遍历
得益于JDK8开始的新技术Lambda表达式,提供了一种更简单,更直接的遍历集合的方式;
import java.util.ArrayList;
import java.util.Collection;
import java.util.function.Consumer;public class CollectionDemo4 {public static void main(String[] args) {//1.创建集合并添加元素Collection<String> coll = new ArrayList<>();coll.add("zhangsan");coll.add("lisi");coll.add("wangwu");//2.利用匿名内部类的形式//forEach底层原理:///*coll.forEach(new Consumer<String>() {@Overridepublic void accept(String s) {System.out.println(s);}});*///lambda表达式coll.forEach(s -> System.out.println(s));}
}
迭代器遍历,增强for遍历相关推荐
- SE API第10/11天:集合 ——>ArrayListals、Iterator遍历迭代器、增强for、List集→subList、集合间转换asList、排序sort | Map相关
一.Java 集合框架 0.介绍: (0)什么是集合 -集合与数组一样,可以保存一组元素,并且提供了操作元素的相关方法,使用更方便. (1)集合框架被设计成要满足以下几个目标: 该框架必须是高性能的. ...
- 扁平化嵌套列表迭代器 [树的递归前序遍历 + 迭代前序遍历]
递归|迭代的前序遍历 前言 一.扁平化嵌套列表迭代器 二.前序遍历(无需访问非叶节点) 1.递归实现 2.栈模拟 3.惰性栈模拟(next时再入栈) 总结 参考文献 前言 问题转换:将需求确认,结合已 ...
- java遍历之数组遍历,list遍历,set遍历,map遍历,stream遍历,Enumeration遍历
1._遍历方式 其实遍历的就两种,对象和数组.只是哪个遍历适用于哪个而已 for for增强 foreach 迭代(Iterable) Arrays.toString 2._数组遍历 package ...
- java迭代器和for循环区别_迭代器和增强for循环
Iterator迭代器的使用: 迭代:Iterator,即collection集合元素的通用获取方式 java.util.Iterator接口.迭代器(对集合进行遍历) 有两个常用的方法 Boolea ...
- 迭代器 Iterator 增强for循环
目录 1. Iterator接口 2.迭代器的使用步骤(重点): 3.迭代器的实现原理 3.增强for循环 1. Iterator接口 在程序开发中,经常需要遍历集合中的所有元素.针对这种需求,JDK ...
- Java基础加强重温_05:Iterator迭代器、增强for循环、集合综合案例-斗地主、数据结构(栈、队列、数组、链表、红黑树)、List接口、Set接口
摘要: Java基础加强重温_05: Iterator迭代器(指针跟踪元素). 增强for循环(格式.底层). 集合综合案例-斗地主(代码规范抽取代码,集合元素打乱). 数据结构[栈(先进后出,子弹夹 ...
- 【Kotlin】循环控制流 ( for 循环 | Iterator 遍历形式 | Iterator 遍历要求 | IntArray 源码解析 )
文章目录 一.For 循环 二.For 循环遍历 Iterator 对象 三.Iterator 遍历要求 四.IntArray 源码解析 一.For 循环 For 循环有两种遍历形式 : 一种是 遍历 ...
- Java 集合List、Set、HashMap操作一(Array转List、Set排序、HashMap遍历、Set遍历、List遍历、HashMap大小长度、List打乱顺序)
数组转集合(Array转List) import java.util.*; import java.io.*;public class ArrayToCollection{public static ...
- List逆向遍历、反向遍历--Iterator详解
List逆向遍历.反向遍历–Iterator详解 概述 在使用java集合的时候,都需要使用Iterator.但是java集合中还有一个迭代器ListIterator,在使用List.ArrayLis ...
最新文章
- 通过OpenSSL的接口实现Base64编解码
- iOS App跳转权限设置
- [排序算法] 选择排序(2种)
- SqlServer动态表查询
- python pandas检验一列中是否只有一个值
- virtual box 安装win8 提示status: 0xc0000225错误的处理
- Linux tmp目录自动清理 及解决方法
- Jquery之AJAX用户注册表单验证(Vancl版)
- 轻松获得卡巴斯基KEY
- web前端面试之基础面试题(一)(含答案)
- C++制作一个连点器
- #151 – Dependency Properties Remember Non-Coerced Values(依赖属性强制转换之前的值会被记住)
- 企业级自动化运维工具Ansible详解(上)
- python直方图教程_Matplotlib绘制直方图
- Android中实现红绿灯动画,android红绿灯制作
- web前端学习路线-20个真实web开发项目集合
- 【夯实Spring Cloud】Spring Cloud分布式配置中心详解
- Log4j的日志对象
- 海康RTSP转flv并实现h5页面播放
- dota2 java_电竞Dota2数据API接口 - 【战队列表】调用示例代码