一大波Java来袭(六)——Java集合之Collection和Iterator接口

本文介绍了Java中Collection接口及其子接口的基本概念,并对比了使用Iterator和foreach循环遍历集合的方法。通过实例演示了如何利用这两种方式来访问和修改集合中的元素。

本文主要介绍Collection和Iterator接口。

一、CollectionIterator接口

Collection接口是ListSet、、Queue的父接口。

Collection  c = new ArrayList();

          父类指向子类对象!优点:多态、动态链接、向上转型。

          面向接口编程,被调用者对于调用者是完全透明的,可以随意替换子类,屏蔽了子类特有的东西。

Demo:详细请参加:Java API文档

 

二、如何依次遍历集合中的元素?

              普通情况下,当我们把一个对象“丢进”集合后,集合会忘记改对象的数据类型,而默认为Object。 JDK1.5后,可以通过“泛型”限制并记住集合中元素的类型。

  1. Iterator迭代器
    1. 仅用于遍历集合
    2. 提供统一的访问接口
    3. 区别:Iterator用于访问对象,Collecton用于盛放对象

public class TestIterator {

	public static void main(String[] args) {
		Collection books = new HashSet();
		books.add("englishbook");
		books.add("computerbook");
		books.add("musicbook");
		
		Iterator booksIterator = books.iterator();
		
		while (booksIterator.hasNext()) {
			String book = (String) booksIterator.next();
			System.out.println("book:"+book);
			if (book.equals("computerbook")) {
				booksIterator.remove();
//				下面代码引发异常:ConcurrentModificationException
				books.remove(book);
			}
			book="just a test!";			
		}
		System.out.println(books);
	}
}

输出结果:


  1. foreach,用法简洁

public class TestForEach {

	public static void main(String[] args) {
		Collection books = new HashSet();
		books.add("englishbook");
		books.add("computerbook");
		books.add("musicbook");
		
		Iterator booksIterator = books.iterator();
		
		for (Object object : books) {
			String book = (String)object;
			System.out.println("book:" + book);
			if (book.equals("computerbook")) {
//				books.remove(book);
				book = "just a test!";
			}
		}
		System.out.println(books);
	}
}
输出结果

    三、比较两种遍历方式:

                  相同点:循环中的迭代访问集合元素时,系统只是把集合元素的值赋值给迭代变量。而集合本身不变

                  区别:

                                1.foreach更简洁

                                2.Iterator功能强大,在循环过程中可以对访问到的元素进行操作


    【2024亚太杯ABCD题】亚太地区大学生数学建模竞赛(思路、代码、论文持续更新中.......)内容概要:本文档为2024及2025年亚太地区大学生数学建模竞赛(APMCM)的备赛资源汇总,涵盖A、B、C、D四道赛题的思路解析、MATLAB/Python代码实现及论文写作指导,内容持续更新。资源涉及多个技术方向,包括无人机回收系统动力学建模(高斯原理)、非线性模型预测控制(MPC)、储能系统经济性优化、可重构电池故障诊断、电力系统机组组合的量子优化、裂纹检测、卡尔曼滤目标跟踪、路径规划(UGV/UAV协同)、MIMO通信系统、天线物理边界计算等。同时提供大量科研技术支持,覆盖机器学习与深度学习(如LSTM、CNN、Transformer等在负荷、光伏、风电预测中的应用)、图像处理、信号处理、雷达追踪、电力系统优化、车间调度、元胞自动机模拟等多个领域,并附有智能优化算法(如粒子群、遗传算法、新型群智算法)在各类工程问题中的实现案例。; 适合人群:具备一定数学建模基础、熟练掌握MATLAB或Python编程的高校本科生、研究生,尤其是准备参加亚太杯、全国大学生数学建模竞赛或其他科研项目的参赛者与科研人员。; 使用场景及目标:①为亚太杯数学建模竞赛提供完整的解题思路、代码支持与论文参考,帮助快速构建高质量解决方案;②作为科研项目的技术参考资料,
    内容概要:本文档为“澎湃创想”人像摄影工作室的启动与运营体系搭建项目管理计划书,旨在赣州市章贡区创建一家定位高端、个性化艺术人像摄影的工作室。项目采用预测型生命周期,通过WBS分解为场地建设、设备采购、团队组建、系统搭建正式开业五大工作包,明确范围、进度与成本三大基线。项目总工期控制在D+45天内,成本基线为28万元,关键路径为场地装潢(31.6天)。通过S曲线、EVM等工具进行成本与进度控制,并设定年销售额35万元的盈亏平衡点。项目重点管理质量、风险与干系人,采用RACI矩阵明确6人核心团队职责,识别十大风险并制定应对策略,尤其关注市场竞争与人才流失问题。; 适合人群:具备项目管理基础知识,从事创业项目策划、小型文化创意企业运营或项目执行的相关人员,尤其是摄影、艺术类初创企业负责人及项目管理者。; 使用场景及目标:①用于指导人像摄影工作室从零到一的系统化筹建与运营管理;②学习如何运用WBS、PDM、EVM、风险矩阵等PMI工具进行实际项目规划与控制;③掌握初创企业在资源有限条件下如何进行成本控制、进度管理风险应对。; 阅读建议:此计划书结构完整,涵盖十大知识领域,建议结合项目管理知识体系(如PMBOK)进行对照学习,重点关注其基线制定、风险应对策略与干系人管理方法,并可在实际创业项目中参考其执行与监控机制。
    评论 3
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值