Linux 拨号vps windows公众号手机端

HashMap中keySet和entrySet的区别是什么

lewis 8年前 (2017-07-03) 阅读数 8 #程序编程
文章标签 hashmap

HashMap中的keySet()方法返回一个包含HashMap中所有键的Set视图,而entrySet()方法返回一个包含HashMap中所有键值对的Set视图。

区别如下:

  1. keySet()方法返回的是HashMap中所有键的Set视图,而entrySet()方法返回的是HashMap中所有键值对的Set视图。
  2. keySet()方法返回的是键的集合,可以通过键获取对应的值,但无法直接获取键值对。而entrySet()方法返回的是键值对的集合,每个键值对通过Map.Entry表示,可以通过Map.Entry的getKey()方法获取键,通过getValue()方法获取值。
  3. 使用keySet()方法遍历HashMap时,需要通过键获取对应的值,效率较低。而使用entrySet()方法遍历HashMap时,可以直接获取键值对,效率较高。
  4. keySet()方法返回的Set视图是基于HashMap的键集合的引用,对Set视图的修改会直接反映到HashMap中;而entrySet()方法返回的Set视图是基于HashMap的键值对集合的引用,对Set视图的修改也会反映到HashMap中。
版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门