设计模式之迭代器模式

迭代器现在被广泛地应用,甚至已经成为一个最基础的工具。有些人建议将迭代器模式从 23 种模式中删除,其原因就是迭代器模式太普通了,已经融合到各个语言和工具中。在Java语言中,从JDK1.2版本开始,增加了java.util.Iterator接口,并将Iterator应用到各个聚集类(Collection)中,如 ArrayList、Vector、Stack、HashSet 等集合类都实现了 iterator()方法,返回一个迭代器Iterator,便于对集合中的元素进行遍历。

也正因为 Java 将迭代器模式已经融合到基本的API中,使我们在项目中无须在独立地写迭代器,直接使用即可,这样既轻松又便捷。注意在Java开发中,尽量不要自己写迭代器模式,使用Java API提供的Iterator一般就能满足项目的要求。

为了专栏完整,还是把这个模式列在这里,希望大家去熟悉Java中所有内置迭代器的使用方法,有兴趣可以深入研究一下具体实现。

java 复制代码
public class Demo {
    public static void main(String[] args) {
        HashMap<String, Integer> hashMap = new HashMap<>();
        hashMap.put("Apple", 1);
        hashMap.put("Banana", 2);
        hashMap.put("Cherry", 3);

        // 使用 entrySet() 方法获取键值对集合的迭代器
        Iterator<Entry<String, Integer>> iterator = hashMap.entrySet().iterator();

        while (iterator.hasNext()) {
            // 获取下一个键值对 Entry 对象
            Entry<String, Integer> entry = iterator.next();

            // 通过 Entry 对象访问键和值
            String key = entry.getKey();
            int value = entry.getValue();

            System.out.println("Key: " + key + ", Value: " + value);
        }
    }
}

如果大家需要视频版本的讲解,欢迎大家关注我的B站。

【天哥不爱学习的个人空间-哔哩哔哩】 https://b23.tv/HxwqjXl

相关推荐
Wang's Blog6 小时前
Java框架 SpringCloud 快速入门: 全局过滤器(GlobalFilter)自定义鉴权
java·开发语言·spring cloud
paopaokaka_luck7 小时前
高校社团管理(AI辅助任务分配、协同过滤算法推荐、ECharts数据可视化、活动参与闭环、校园交流与反馈、器材借还管理)
java·前端·javascript·spring boot·数据分析·echarts
vx_Biye_Design7 小时前
springboot小区管理系统68491-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·课程设计·express
专业程序开发源7 小时前
springboot外卖系统94294-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
Moshow郑锴9 小时前
sql-pipeline - 基于PostgreSQL的SQL健康检查与发布编排平台
java·sql
Wang's Blog16 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
\光辉岁月/18 小时前
5.java-数组
java·开发语言
谢亮_vipxieliang18 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
郑州光合科技余经理18 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
2601_9620715718 小时前
类变量和全局变量的生命周期有什么区别?
java·开发语言·jvm