当检查Java的层次结构时,Set和Map是不同的接口,Map没有实现Collection接口。无论排序如何,Set都用来保存唯一的值,而Map用于惟一的键和映射的值,而不需要排序(除了通过LinkedHashMap、TreeMap)。AFAIS,主要的共同部分是它们都使用哈希表进行存储。我的问题是关于entrySet()方法。我只知道它用来迭代以获得键和映射值的方法。
Set<Map.Entry<K,V>>?我的意思是,为什么设置了,为什么不是ArrayList之类的呢?HashMap的方法)?我得到了彼此不同的结构。但似乎双方都在利用彼此。理解起来有点模糊。你能照亮吗?
发布于 2017-04-30 11:09:25
为什么它的返回类型使用Set>?我的意思是,为什么不设置,为什么不是ArrayList或其他什么?
对于一组没有排序的唯一元素,Set是首选的Collection类型。Map的条目是唯一的,因为键必须是唯一的。并且基本的Map接口假定它的条目没有排序,所以条目的List不合适。
方法(Set)的后缀是否表达了为什么entrySet,为什么不是entryFoo或entryMap (它已经是HashMap的方法)?
它返回条目的Set,因此entrySet()非常有意义。
https://stackoverflow.com/questions/43705677
复制相似问题