使用 entrySet 遍历 Map 类集合 KV

简介: 遍历Map时,entrySet效率高于keySet,因后者需两次遍历:转Iterator和查value,而entrySet一次将KV封装为entry。JDK8推荐使用Map.forEach。values()返回V集合,keySet()返回K集合,entrySet()返回KV组合集。

说明:keySet 其实是遍历了 2 次,一次是转为 Iterator 对象,另一次是从 hashMap 中取出key 所对应的 value。而 entrySet 只是遍历了一次就把 key 和 value 都放到了 entry 中,效率更高。
如果是 JDK8,使用 Map.foreach 方法。
正例:values()返回的是 V 值集合,是一个 list 集合对象;keySet()返回的是 K 值集合,是一个 Set 集合对象;entrySet()返回的是 K-V 值组合集合。

相关文章
|
1月前
|
分布式计算 监控 API
DMS Airflow:企业级数据工作流编排平台的专业实践
DMS Airflow 是基于 Apache Airflow 构建的企业级数据工作流编排平台,通过深度集成阿里云 DMS(Data Management Service)系统的各项能力,为数据团队提供了强大的工作流调度、监控和管理能力。本文将从 Airflow 的高级编排能力、DMS 集成的特殊能力,以及 DMS Airflow 的使用示例三个方面,全面介绍 DMS Airflow 的技术架构与实践应用。
|
22小时前
|
存储 缓存 安全
常用过滤器介绍
Spring Security通过过滤器链实现安全控制,涵盖认证、授权、CSRF防护等。核心如SecurityContextPersistenceFilter管理上下文,UsernamePasswordAuthenticationFilter处理登录,LogoutFilter处理退出。不同配置下过滤器数量与种类动态调整,非固定不变,体现其灵活的安全机制设计。
|
19小时前
|
机器学习/深度学习 存储 人工智能
大模型基础概念术语解释
大语言模型(LLM)基于Transformer架构,通过海量文本训练,具备强大语言理解与生成能力。其核心组件包括注意力机制、位置编码、嵌入层等,支持万亿级参数规模,展现出涌现与泛化特性。Token为基本处理单元,MoE架构提升效率。模型能力随规模扩大显著跃升,推动AI语言处理发展。
|
19小时前
|
SpringCloudAlibaba 负载均衡 Java
服务注册与发现流程
本文介绍微服务中客户端负载均衡的核心机制——服务注册与发现。通过引入注册中心(如Nacos),服务提供者注册信息,消费者从注册中心获取实例列表,并基于负载均衡策略选择实例调用。服务定期上报心跳,实现健康检测与动态上下线,确保调用的高可用性。(238字)
|
19小时前
|
安全 Java Spring
过滤器链加载原理
本文深入解析Spring Security核心过滤机制:`DelegatingFilterProxy`通过代理模式加载名为`springSecurityFilterChain`的`FilterChainProxy`,后者聚合多个安全过滤器链`SecurityFilterChain`,最终由`DefaultSecurityFilterChain`管理15个内置`Filter`,实现请求的安全控制。层层委托,结构清晰,为理解Spring Security工作原理奠定基础。(238字)
|
19小时前
|
监控 算法 Unix
Thread.sleep(0) 到底有什么用
Thread.Sleep用于让线程暂时放弃CPU,指定时间内不参与调度。Sleep(1000)不保证精确唤醒时间,受系统调度影响;而Sleep(0)会触发立即重新竞争CPU,常用于避免界面假死,给予其他线程执行机会。
|
19小时前
|
Java 调度
ThreadPoolExecutor解析
本文深入解析Java线程池核心类ThreadPoolExecutor的实现原理,涵盖工作队列、线程工厂、拒绝策略等关键组件,剖析任务提交与执行流程,揭示Worker工作机制及线程复用原理,帮助理解线程池如何高效管理并发任务。
|
19小时前
|
Java 调度
Java线程池实现架构
Java中线程池核心类包括Executor、ExecutorService、ScheduledExecutorService及其实现类ThreadPoolExecutor和ScheduledThreadPoolExecutor,Executors为工厂类,用于创建不同类型线程池。Executor是顶层接口,仅支持执行Runnable任务;ExecutorService扩展其功能,支持有返回值的任务;ScheduledExecutorService进一步支持定时调度ScheduledThreadPoolExecutor继承ThreadPoolExecutor并添加调度能力,是功能最全的线程池实现
|
19小时前
|
Java 调度
线程池初探
线程池通过复用线程提升性能,避免频繁创建销毁的开销。它统一管理线程,提高资源利用率,减少上下文切换。使用时只需提交任务,无需关注线程管理,支持定时与周期执行,是高效并发编程的核心工具之一。
|
19小时前
|
XML JSON Java
什么是RESTful
RESTful是一种面向资源的API设计规范,通过统一接口操作资源,提升系统可读性与可维护性。它将数据抽象为资源,使用标准HTTP动词(GET/POST/PUT/DELETE)对资源进行操作,确保行为一致、路径清晰。相比传统接口中使用动词导致的混乱,RESTful以名词化URI标识资源,如`/orders`,结合HTTP方法表达操作,实现解耦与标准化,便于前后端协作与系统扩展。