当前位置: 首页 > 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]);}}}

相关文章:

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

文章目录 一、使用迭代器Iterator接口1.说明2.代码 二、foreach循环&#xff0c;用于遍历集合、数组 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、使用迭代器Iterator接口 1.说明 1.内部的方法: hasNext() 和 next() 2.集合对象每次调iterator…...

数据结构:排序- 插入排序(插入排序and希尔排序) , 选择排序(选择排序and堆排序) , 交换排序(冒泡排序and快速排序) , 归并排序

目录 前言 复杂度总结 预备代码 插入排序 1.直接插入排序: 时间复杂度O(N^2) \空间复杂度O(1) 复杂度&#xff08;空间/时间&#xff09;&#xff1a; 2.希尔排序&#xff1a; 时间复杂度 O(N^1.3~ N^2&#xff09; 空间复杂度为O(1) 复杂度&#xff08;空间/时间&#…...

IOT 围炉札记

文章目录 一、蓝牙二、PAN1080三、IOT OS四、通讯 一、蓝牙 树莓派上的蓝牙协议 BlueZ 官网 BlueZ 官方 Linux Bluetooth 栈 oschina 二、PAN1080 pan1080 文档 三、IOT OS Zephyr 官网 Zephyr oschina Zephyr github Zephyr docs 第1章 Zephyr简介 第2章 Zephyr 编译环…...

小谈设计模式(24)—命令模式

小谈设计模式&#xff08;24&#xff09;—命令模式 专栏介绍专栏地址专栏介绍 命令模式角色分析命令&#xff08;Command&#xff09;具体命令&#xff08;ConcreteCommand&#xff09;接收者&#xff08;Receiver&#xff09;调用者&#xff08;Invoker&#xff09;客户端&am…...

9.HTML

文章目录 1.HTML 常见标签1.1注释标签1.2标题标签: h1-h61.3段落标签: p1.4换行标签: br1.5综合案例: 展示博客1.6格式化标签1.7图片标签: img1.8超链接标签: a1.9综合案例: 展示博客21.10表格标签1.10.1基本使用1.10.2合并单元格 1.11列表标签1.12表单标签1.13无语义标签: div…...

分层强化学习 综述论文阅读 Hierarchical Reinforcement Learning: A Comprehensive Survey

分层强化学习 综述论文阅读 Hierarchical Reinforcement Learning: A Comprehensive Survey 摘要一、介绍二、基础知识回顾2.1 强化学习2.2 分层强化学习2.2.1 子任务符号2.2.2 基于半马尔可夫决策过程的HRL符号 2.3 通用项定义 三、分层强化学习方法3.1 学习分层策略 (LHP)3.1…...

TensorFlow入门(十五、数据读取机制(2))

使用Dataset创建和读取数据集,作为TensorFlow模型创建输入管道的新方式,使用性能比使用feed_dict或队列式管道的性能高很多,使用也更加简洁容易。也是google强烈推荐的数据读取方式,对于TensorFlow而言,十分重要。 Dataset是什么? Dataset的定义 : 它是一个含有相同类型元素且…...

Linux系统中实现便捷运维管理和远程访问的1Panel部署方法

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器&#xff0c;包括主机监控、…...

Rancher清理节点

本节介绍如何从一个 Rancher 创建的 Kubernetes 集群中断开一个节点&#xff0c;并从该节点中删除所有 Kubernetes 组件。此过程允许您将释放节点资源&#xff0c;将节点用于其他用途。 当您使用 Rancher 创建集群节点 时&#xff0c;将创建资源(容器/虚拟网络接口)和配置项(证…...

C++-Mongoose(1)-http-server

Mongoose is a network library for C/C. It implements event-driven non-blocking APIs for TCP, UDP, HTTP, WebSocket, MQTT. mongoose很小巧&#xff0c;只有两个文件mongoose.h/cpp&#xff0c;拿来就可以用. 下载地址&#xff1a; https://github.com/cesanta/mongoo…...

Linux中openvswitch配置网桥详解

以下是对给出的命令进行逐行解释和注释&#xff1a; # 安装openvswitch软件包&#xff0c;并自动确认所有提示信息使用默认值&#xff08;-y参数&#xff09; dnf install openvswitch -y# 启动openvswitch服务 systemctl start openvswitch# 设置openvswitch服务开机启动 sys…...

Python自动化测试框架pytest的详解安装与运行

这篇文章主要为大家介绍了Python自动化测试框架pytest的简介以及安装与运行&#xff0c;有需要的朋友可以借鉴参考下希望能够有所帮助&#xff0c;祝大家多多进步 1. pytest的介绍 pytest是一个非常成熟的全功能的python测试工具&#xff0c;它主要有以下特征&#xff1a; 简…...

23种设计模式详解

设计模式的分类 总体来说设计模式分为三大类&#xff1a; 创建型模式&#xff0c;共五种&#xff1a;工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式&#xff0c;共七种&#xff1a;适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模…...

微信小程序案例:2-2本地生活

文章目录 一、实现步骤&#xff08;一&#xff09;创建项目&#xff08;二&#xff09;创建页面&#xff08;三&#xff09;准备图片素材&#xff08;四&#xff09;编写页面结构1、编写轮播区域页面结构2、编写九宫格区域页面结构 &#xff08;五&#xff09;编写页面样式1、编…...

机器学习论文中常用的数学符号以及Latex

A数据集&#xff1a;通常用 D A \mathcal{D}_A DA​表示。 B数据集&#xff1a;通常用 D B \mathcal{D}_B DB​表示。 C数据集&#xff1a;通常用 D C \mathcal{D}_C DC​表示。 在机器学习中&#xff0c;损失函数通常用 L L L表示&#xff0c;即&#xff1a; L ( θ , D ) …...

【iOS】Fastlane一键打包上传到TestFlight、蒲公英

Fastlane一键打包上传到TestFlight、蒲公英 前言一、准备二、探索一、Fastlane配置1、Fastlane安装2、Fastlane更新3、Fastlane卸载4、查看Fastlane版本5、查看Fastlane位置6、Fastlane初始化 二、Fastlane安装蒲公英插件三、Fastlane文件编辑1、Gemfile文件2、Appfile文件3、F…...

绝地求生大吃鸡攻略,让你成为顶级战士!

近年来&#xff0c;绝地求生越来越受到玩家们的喜爱&#xff0c;吃鸡成为了很多人的娱乐方式。作为一个资深吃鸡玩家&#xff0c;今天我要和大家分享一些提高战斗力的干货&#xff0c;以及一些方便吃鸡作图与查询的实用工具。 首先&#xff0c;提高战斗力是吃鸡游戏中最重要的一…...

[架构之路-235]:目标系统 - 纵向分层 - 数据库 - 数据库系统基础与概述(快速入门、了解核心概念):概念模型、逻辑模型、物理模型

目录 一、核心概念 1.1 什么是数据与信息 1.2 数据与数据库的关系 1.3 什么是数据库 1.4 数据库中的数据的特点 1.5 数据库与数据结构的关系 1.6 什么是数据库管理系统 1.7 什么是数据库系统 1.8 数据库的主要功能 1.9 Excel表格是数据库吗&#xff1f; 1.10 Excel表…...

小程序, 多选项

小程序, 多选项 <view class"my-filter-btnwrap"><block wx:for"{{archiveList}}" wx:key"index"><view class"my-filter-btnitem text-ellipsis {{item.checked ? active : }}" data-index"{{index}}" wx…...

华为云云耀云服务器L实例评测|使用redis事务和lua脚本

文章目录 云服务器的类型云服务优点redis一&#xff0c;关系型数据库&#xff08;sqlserver&#xff0c;mysql&#xff0c;oracle&#xff09;的事务隔离机制说明&#xff1a;redis事务机制 lualua脚本好处&#xff1a;一&#xff0c;怎么在redis中使用lua脚本二&#xff0c;脚…...

vue2项目中使用element ui组件库的table,制作表格,改表格的背景颜色为透明的

el-table背景颜色变成透明_el-table背景透明_讲礼貌的博客-CSDN博客 之前是白色的&#xff0c;现在变透明了&#xff0c;背景颜色是蓝色...

C#报错 功能“结构字段初始化表达式“在C#7.3中不可用。请使用10.0或更高的语言版本。

解决方式&#xff1a; 打开以下文件 增加 <LangVersion>10.0</LangVersion>...

servlet基础知识

目录 什么是servlet概念/定义作用 servlet容器概念/是什么作用如何配置和管理 servlet生命周期有哪些生命周期每个周期中可以执行哪些操作 创建和编写servlet如何创建一个简单的servletservlet类的结构是什么样的如何处理HTTP请求和响应 servlet映射和URL模式什么是servlet映射…...

使用poi-tl循环导出word报表

先看模板和导出的效果 模板 效果 根据模板循环生成表格&#xff0c;每个表格再循环填充数据&#xff0c;也就是两层循环&#xff0c;第一层循环是学生学期信息&#xff0c;第二层循环是学生的成绩数据。 第一个循环 {{?listTable}} {{/}}第二个循环 {{reportList}} 表格…...

PyCharm搭建Scrapy环境

Scrapy入门 1、Scrapy概述2、PyCharm搭建Scrapy环境3、Scrapy使用四部曲4、Scrapy入门案例4.1、明确目标4.2、制作爬虫4.3、存储数据4.4、运行爬虫 1、Scrapy概述 Scrapy是一个由Python语言开发的适用爬取网站数据、提取结构性数据的Web应用程序框架。主要用于数据挖掘、信息处…...

TensorFlow的transformer类模型文件转换为pytorch

在进行transformer类模型的训练或开发时&#xff0c;我们会在GitHub、huggingface等平台上下载已有的模型文件。个人习惯用pytorch框架进行代码编写&#xff0c;然而很多时候在下载模型文件时&#xff0c;会遇到TensorFlow的模型&#xff0c;这是就涉及到转换的问题。 首先说一…...

C++学习之指针和数组

指针和一维数组 一个数组包含若干元素&#xff0c;每个数组元素都在内存中占用存储单元&#xff0c;它们都有相应的地址。指针变量既可以指向变量&#xff0c;当然也可以指向数组元素。所谓数组元素的指针就是数组元素的地址。 eg&#xff1a; int a[6]; //定义一个整数数组a…...

什么是站内搜索引擎?如何在网站中加入站内搜索功能?

在当今数字时代&#xff0c;用户体验对于网站的成功起着至关重要的作用。提升用户体验和改善整体网站性能的一种方法是引入站内搜索引擎。站内搜索引擎是一种强大的工具&#xff0c;它的功能类似于Google或Bing等流行搜索引擎&#xff0c;但它专注于实施自己网站上的内容。用户…...

【C++】面向对象编程(六)在派生类中定义一个虚函数、虚函数的静态解析

在派生类中定义一个虚函数 定义派生类时&#xff1a; 将基类中的虚函数覆盖掉&#xff1a;派生类提供新定义&#xff0c;所声明的函数原型必须完全符合基类所声明的函数原型&#xff08;包括&#xff1a;参数列表、返回类型、常量性&#xff09;&#xff1b;原封不动继承基类…...

uniapp vue3 静态图片引入

方法一 从新定义路径 一定看好你图片的路径 代码 <template><div class"main">Main<img :src"getImg()" alt""></div> </template><!-- 方式一 // <script setup> // let imgName logo.png // cons…...