Java集合的两种遍历方式

2023-11-19

Java集合共有两种遍历方式

  1. 增强for循环(foreach)
  2. 迭代器
// Main方法:
    public static void main(String[] args) {
        // 创建集合
        Collection collection  = new ArrayList();
        // 添加元素
        collection.add("腊肉");
        collection.add("香肠");
        collection.add("卤肉");
        System.out.println("集合中元素个数:" + collection.size());
        System.out.println(collection.toString());
        /**
         * 遍历元素
         * 第一种方式:增强for循环(foreach)
         * 第二种方式:迭代器
         */
        // 增强for循环(foreach)
        for (Object o : collection) {
            System.out.println(o);
        }
        System.out.println("-------------分割线-------------");
        // 迭代器
        Iterator iterator = collection.iterator();
        while (iterator.hasNext()) { //判断是否有下一个元素
            System.out.println(iterator.next());
            // collection.remove(iterator.next()); -->并发修改异常
            iterator.remove();
        }
        System.out.println("集合中元素个数:" + collection.size());
    }

迭代器方法:

boolean hasNext(); // 如果仍有元素可以迭代,则返回true
E next(); // 放回迭代的下一个元素
default void remove(){} // 从迭代器指向的collection中移除迭代器返回的最后一个元素 

迭代器简要原理图

迭代器删除操作不可以使用集合的删除方法,会报异常!

并发修改异常

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java集合的两种遍历方式 的相关文章

随机推荐

  • 【数学建模】随机森林预测(Python代码实现)

    目录 1 参数 2 算例实现 2 1 算例 2 2 单目标预测 DecisionTreeRegressor 2 3 多目标预测MultiOutputRegressor 1 参数 n estimators 森林中决策树的数量 默认100 表示
  • Oracle 查询技巧与优化(二) 多表查询

    前言 上一篇blog介绍了Oracle中的单表查询和排序的相关技巧 http blog csdn net wlwlwlwl015 article details 52083588 本篇blog继续介绍查询中用的最多的 多表查询的技巧与优化方
  • VM装MACos

    准备工具 下载macOS Ventura 13 ISO镜像文件 VMware Workstation Pro最新版并激活 自行官网下载即可 需要镜像和key可以最下边的云盘自取 下载Unlocker for VMware Workstati
  • JAVA多线程介绍

    1 什么是多线程 得益于计算机的时间片机制 每一个应用程序的都可以在一段很小的时间段内执行 相比于单线程串行执行 得不到时间片就停止执行 多线程当中线程1得不到时间片 线程2有可能得到 可以更多的完成任务 还有一种场景 单线程要操作IO设备
  • Charles微信小程序抓包(详解)

    一 Charles官网下载安装包 https www charlesproxy com download latest release 官网下载不了的可去百度网盘获取 链接 https pan baidu com s 1NMqiGPLtEP
  • 最短路径-C++算法

    C 算法之 最短路径 基础2 2020版 前记 通过前面那份讲义 你应该对基础知识有所了解 今天我们来看下floyed算法的实现 复习 什么是最短路径 百度中的定义 用于计算一个节点到其他所有节点的最短路径 主要特点是以起始点为中心向外层层
  • Mixed Reality Toolkit-Unity 开发系列—Input 模块

    在 Mixed Reality Toolkit Unity 开发系列 Sharing 模块 中 我们首次开讲 HoloLens 开发神器 微软原生开发包 Mixed Reality Toolkit Unity 简称 MRTK 并介绍了 Sh
  • 如何拿到半数面试公司Offer——我的Python求职之路

    从八月底开始找工作 短短的一星期多一些 面试了9家公司 拿到5份Offer 可能是因为我所面试的公司都是些创业性的公司吧 不过还是感触良多 因为学习Python的时间还很短 没想到还算比较容易的找到了工作 就把这些天的面试经验和大家分享一下
  • c++ 链表的创建与链表常见操作

    c 链表的创建与链表常见操作 一 链表定义 struct 下面的结构体定义了C 语言中的一种常见的链表节点 包括数据 指针和两种种不同类型的构造函数 struct ListNode int val 存储数据 ListNode next ne
  • java集合框架(一)——框架结构及基础接口

    java util包是一个重要的包 包含许多类和接口 它还包括java的一个功能强大的子系统 集合框架 集合框架是一个复杂接 口和类的层 提供了管理对象组的优化技术 使用集合框架的目的有几个 首先这种框架必须是高性能的 基础集合 动态数组
  • Java String6,7,8,9区别 以及 有哪些方式可以提高性能

    String 对象在jdk不同版本中的实现 String对象是 Java 中使用最频繁的对象之一 所以 Java 公司也在不断的对String对象的实现进行优化 以便提升String对象的性能 看下面这张图 一起了解一下String对象的优
  • 每日一个Python基础练习题

    题目 有四个数字 1 2 3 4 能组成多少个互不相同且无重复数字的三位数 各是多少 可填在百位 十位 个位的数字都是1 2 3 4 组成所有的排列后再去 掉不满足条件的排列 代码 a 100 b 10 c r 1 for a in ran
  • 朗润国际期货技术分析——日内交易图表类型

    一张图表胜过千言万语 你以前听说过这句话 对吗 在日内交易员的世界里 一张图表往往比千言万语更有价值 它不仅告诉我们过去发生了什么 而且告诉我们一个市场在未来可能会做什么 它将继续走高还是走低 它是否处于一个区间 也许一个重大的方向变化或反
  • 2D/3D人体姿态估计 (2D/3D Human Pose Estimation)

    1 基本概念 算法改进入口 网络设计 特征流 损失函数 数据集的重要性 只要有一个好的 针对性的数据集 问题都可以解决 过集成新一代AutoML技术 可降低算法试错成本 人体姿态估计 Human Pose Estimation 是指图像或视
  • 在C语言中,“>>=”;“<<=”;“&=”;“

    C语言中 gt gt 的意思是 右移后赋值 示例 x 8 1000 x gt gt 3 结果为 0001 C语言中 lt lt 的意思是 左移后赋值 示例 x 1 0001 x lt lt 3 结果为 1000 C语言中 的意思是 按位与后
  • pycharm 代码上传到gitee仓库里

    目录 一 准备 二 1 新建仓库 2 commit和push 一 准备 1 在pycharm中安装插件 github git 2 在本地安装git 二 1 新建仓库 首先在pycharm中打开自己的本地项目 如果没有配置过 主界面应该是这样
  • 2023年数学建模B组:利用AHP层次分析法解决实际问题(Matlab)

    目录 利用AHP层次分析法解决实际问题 Matlab实现 介绍 案例背景 步骤1 建立层次结构模型
  • Flutter酷炫的路由动画效果

    现在Flutter的路由效果已经非常不错了 能满足大部分App的需求 但是谁不希望自己的App更酷更炫那 下面介绍几个酷炫的路由动画 其实路由动画的原理很简单 就是重写并继承PageRouterBuilder这个类里的transitions
  • 详解JS前端异步文件加载篇之Async与Defer区别

    目录 同步 异步及推迟的概念 async和defer解决文件加载阻塞问题 在了解async和defer的区别之前 我们需要先了解同步 异步和推迟的概念 同步 异步及推迟的概念 假如现在有一条非常狭隘的胡同 里面有两个人挨着走 那么现在请问后
  • Java集合的两种遍历方式

    Java集合共有两种遍历方式 增强for循环 foreach 迭代器 Main方法 public static void main String args 创建集合 Collection collection new ArrayList 添