当前位置: 首页 > news >正文

Java集合(二)--- 集合元素的遍历操作Iterator以及foreach

文章目录

  • 一、使用迭代器Iterator接口
    • 1.说明
    • 2.代码
  • 二、foreach循环,用于遍历集合、数组


提示:以下是本篇文章正文内容,下面案例可供参考

一、使用迭代器Iterator接口

1.说明

1.内部的方法: hasNext() 和 next()
2.集合对象每次调iterator()方法都得到一个全新的迭代器对象
3.默认游标都在集合的第一个元素之前。
4.内部定义了remove(),可以在遍历的时候,删除集合中的元素。此方法不同于集合直接调用remove()

2.代码

package com.tyust.edu;import org.junit.Test;import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;/*** 集合元素的遍历操作,使用Iterator接口* 内部的方法 hasNext()和next()* @author YML TYUST-XDU 2019-2026* @create 2023-10-09 15:54*/
public class IteratorTest {@Testpublic void test1(){Collection coll = new ArrayList();coll.add(123);  //自动装箱coll.add(456);coll.add(new Person("Jerry", 20));coll.add(new String("Mary"));coll.add(false);Iterator iterator = coll.iterator();System.out.println(iterator.next());System.out.println(iterator.next());System.out.println(iterator.next());System.out.println(iterator.next());
//        System.out.println(iterator.next());//报异常:NoSuchElementException
//        System.out.println(iterator.next());//方式二:
//        for (int i = 0; i < coll.size(); i++) {
//            System.out.println(iterator.next());
//        }//方式三:while(iterator.hasNext()){System.out.println(iterator.next());}}}

二、foreach循环,用于遍历集合、数组

代码如下(示例):

package com.tyust.edu;import org.junit.Test;import java.util.ArrayList;
import java.util.Collection;/*** jdk5.0  新增了foreach循环,用于遍历集合、数组* @author YML TYUST-XDU 2019-2026* @create 2023-10-09 16:51*/
public class ForTest {@Testpublic void test1() {Collection coll = new ArrayList();coll.add(123);  //自动装箱coll.add(456);coll.add(new Person("Jerry", 20));coll.add(new String("Mary"));coll.add(false);//for(集合元素的类型   局部变量:集合对象)//内部仍然调用了迭代器for(Object obj:coll){System.out.println(obj);}}@Testpublic void test2(){int [] arr = new int[]{1,2,3,4,5,6};//for(数组元素的类型   局部变量:数组对象)for(int i:arr){System.out.println(i);}}@Testpublic void test3(){String []arr = new String[]{"MM","MM","MM"};for (int i = 0; i < arr.length; i++) {arr[i] = "GG";}for(String s:arr){s="GG";}for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}}}
http://www.lryc.cn/news/187329.html

相关文章:

  • 数据结构:排序- 插入排序(插入排序and希尔排序) , 选择排序(选择排序and堆排序) , 交换排序(冒泡排序and快速排序) , 归并排序
  • IOT 围炉札记
  • 小谈设计模式(24)—命令模式
  • 9.HTML
  • 分层强化学习 综述论文阅读 Hierarchical Reinforcement Learning: A Comprehensive Survey
  • TensorFlow入门(十五、数据读取机制(2))
  • Linux系统中实现便捷运维管理和远程访问的1Panel部署方法
  • Rancher清理节点
  • C++-Mongoose(1)-http-server
  • Linux中openvswitch配置网桥详解
  • Python自动化测试框架pytest的详解安装与运行
  • 23种设计模式详解
  • 微信小程序案例:2-2本地生活
  • 机器学习论文中常用的数学符号以及Latex
  • 【iOS】Fastlane一键打包上传到TestFlight、蒲公英
  • 绝地求生大吃鸡攻略,让你成为顶级战士!
  • [架构之路-235]:目标系统 - 纵向分层 - 数据库 - 数据库系统基础与概述(快速入门、了解核心概念):概念模型、逻辑模型、物理模型
  • 小程序, 多选项
  • 华为云云耀云服务器L实例评测|使用redis事务和lua脚本
  • vue2项目中使用element ui组件库的table,制作表格,改表格的背景颜色为透明的
  • C#报错 功能“结构字段初始化表达式“在C#7.3中不可用。请使用10.0或更高的语言版本。
  • servlet基础知识
  • 使用poi-tl循环导出word报表
  • PyCharm搭建Scrapy环境
  • TensorFlow的transformer类模型文件转换为pytorch
  • C++学习之指针和数组
  • 什么是站内搜索引擎?如何在网站中加入站内搜索功能?
  • 【C++】面向对象编程(六)在派生类中定义一个虚函数、虚函数的静态解析
  • uniapp vue3 静态图片引入
  • 仅用61行代码,你也能从零训练大模型