目录

一.迭代器遍历

二.增强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遍历相关推荐

  1. SE API第10/11天:集合 ——>ArrayListals、Iterator遍历迭代器、增强for、List集→subList、集合间转换asList、排序sort | Map相关

    一.Java 集合框架 0.介绍: (0)什么是集合 -集合与数组一样,可以保存一组元素,并且提供了操作元素的相关方法,使用更方便. (1)集合框架被设计成要满足以下几个目标: 该框架必须是高性能的. ...

  2. 扁平化嵌套列表迭代器 [树的递归前序遍历 + 迭代前序遍历]

    递归|迭代的前序遍历 前言 一.扁平化嵌套列表迭代器 二.前序遍历(无需访问非叶节点) 1.递归实现 2.栈模拟 3.惰性栈模拟(next时再入栈) 总结 参考文献 前言 问题转换:将需求确认,结合已 ...

  3. java遍历之数组遍历,list遍历,set遍历,map遍历,stream遍历,Enumeration遍历

    1._遍历方式 其实遍历的就两种,对象和数组.只是哪个遍历适用于哪个而已 for for增强 foreach 迭代(Iterable) Arrays.toString 2._数组遍历 package ...

  4. java迭代器和for循环区别_迭代器和增强for循环

    Iterator迭代器的使用: 迭代:Iterator,即collection集合元素的通用获取方式 java.util.Iterator接口.迭代器(对集合进行遍历) 有两个常用的方法 Boolea ...

  5. 迭代器 Iterator 增强for循环

    目录 1. Iterator接口 2.迭代器的使用步骤(重点): 3.迭代器的实现原理 3.增强for循环 1. Iterator接口 在程序开发中,经常需要遍历集合中的所有元素.针对这种需求,JDK ...

  6. Java基础加强重温_05:Iterator迭代器、增强for循环、集合综合案例-斗地主、数据结构(栈、队列、数组、链表、红黑树)、List接口、Set接口

    摘要: Java基础加强重温_05: Iterator迭代器(指针跟踪元素). 增强for循环(格式.底层). 集合综合案例-斗地主(代码规范抽取代码,集合元素打乱). 数据结构[栈(先进后出,子弹夹 ...

  7. 【Kotlin】循环控制流 ( for 循环 | Iterator 遍历形式 | Iterator 遍历要求 | IntArray 源码解析 )

    文章目录 一.For 循环 二.For 循环遍历 Iterator 对象 三.Iterator 遍历要求 四.IntArray 源码解析 一.For 循环 For 循环有两种遍历形式 : 一种是 遍历 ...

  8. 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 ...

  9. List逆向遍历、反向遍历--Iterator详解

    List逆向遍历.反向遍历–Iterator详解 概述 在使用java集合的时候,都需要使用Iterator.但是java集合中还有一个迭代器ListIterator,在使用List.ArrayLis ...

最新文章

  1. 通过OpenSSL的接口实现Base64编解码
  2. iOS App跳转权限设置
  3. [排序算法] 选择排序(2种)
  4. SqlServer动态表查询
  5. python pandas检验一列中是否只有一个值
  6. virtual box 安装win8 提示status: 0xc0000225错误的处理
  7. Linux tmp目录自动清理 及解决方法
  8. Jquery之AJAX用户注册表单验证(Vancl版)
  9. 轻松获得卡巴斯基KEY
  10. web前端面试之基础面试题(一)(含答案)
  11. C++制作一个连点器
  12. #151 – Dependency Properties Remember Non-Coerced Values(依赖属性强制转换之前的值会被记住)
  13. 企业级自动化运维工具Ansible详解(上)
  14. python直方图教程_Matplotlib绘制直方图
  15. Android中实现红绿灯动画,android红绿灯制作
  16. web前端学习路线-20个真实web开发项目集合
  17. 【夯实Spring Cloud】Spring Cloud分布式配置中心详解
  18. Log4j的日志对象
  19. 海康RTSP转flv并实现h5页面播放
  20. dota2 java_电竞Dota2数据API接口 - 【战队列表】调用示例代码

热门文章

  1. RDM连接Redis配置
  2. 浪潮云荣获2022云边协同大会多项大奖
  3. 将GPS点导入ArcGIS并转换为shp图层文件
  4. 计算机显卡发展史,从模拟到数字 显卡输出接口演变史简述
  5. 7-8 哈利·波特的考试 (25 分)
  6. 亚信前端实习生面试记录
  7. Windows无法启动MySQL80服务(位于本地计算机)
  8. 学习淘淘商城第四十九课(搜索功能测试)
  9. 计算机教师的人生格言,教师的人生格言座右铭大全
  10. 前端验证码倒计时、后台发送验证码、创蓝短信接口