首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java entrySet()上的死胡同

Java entrySet()上的死胡同
EN

Stack Overflow用户
提问于 2017-04-30 11:04:00
回答 1查看 46关注 0票数 1

当检查Java的层次结构时,SetMap是不同的接口,Map没有实现Collection接口。无论排序如何,Set都用来保存唯一的值,而Map用于惟一的键和映射的值,而不需要排序(除了通过LinkedHashMapTreeMap)。AFAIS,主要的共同部分是它们都使用哈希表进行存储。我的问题是关于entrySet()方法。我只知道它用来迭代以获得键和映射值的方法。

  • 这个方法还有什么其他用途吗?
  • 为什么它的返回类型使用Set<Map.Entry<K,V>>?我的意思是,为什么设置了,为什么不是ArrayList之类的呢?
  • 方法(Set)的后缀是否表达了为什么entrySet为什么不输入Foo或entryMap (它已经是HashMap的方法)?

我得到了彼此不同的结构。但似乎双方都在利用彼此。理解起来有点模糊。你能照亮吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-30 11:09:25

为什么它的返回类型使用Set>?我的意思是,为什么不设置,为什么不是ArrayList或其他什么?

对于一组没有排序的唯一元素,Set是首选的Collection类型。Map的条目是唯一的,因为键必须是唯一的。并且基本的Map接口假定它的条目没有排序,所以条目的List不合适。

方法(Set)的后缀是否表达了为什么entrySet,为什么不是entryFoo或entryMap (它已经是HashMap的方法)?

它返回条目的Set,因此entrySet()非常有意义。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43705677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档