首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >树地图的entrySet()是否返回TreeSet

树地图的entrySet()是否返回TreeSet
EN

Stack Overflow用户
提问于 2010-08-26 14:57:32
回答 3查看 8.3K关注 0票数 9

从treemap实例调用的entrySet()函数是返回TreeSet的条目,还是返回一组条目。是否确保顺序?

而不是以一组条目的形式获取,如何才能获得有序的条目列表?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-26 15:48:52

反之亦然: TreeSet在内部使用TreeMap。(参见TreeSet docs的第一句话)

我在网上能找到的Sun java源代码不多,但这里有一些老版本:

  • TreeSet
  • TreeMap

如您所见,TreeMap定义了一个名为TreeMap.EntrySet的内部类,它只是扩展了AbstractSet。而且,它没有实现SortedSet (否则可能会在SortedMap.entrySet()契约中指定)。

但要回答实际问题:是的,订单是按照SortedMap.entrySet()合同中规定的那样得到保证的。

更新:针对Java8更新了JavaDoc链接,源代码仍然是Java6

票数 9
EN

Stack Overflow用户

发布于 2010-08-26 15:00:26

JavaDoc

public Set<Map.Entry<K,V>> entrySet()

返回此映射中包含的映射的集合视图。集合的迭代器按键升序返回项目。

票数 6
EN

Stack Overflow用户

发布于 2010-08-26 15:55:20

代码语言:javascript
复制
Assert.assertFalse(new TreeMap().keySet() instanceof SortedSet );
Assert.assertFalse(new TreeMap().keySet() instanceof TreeSet ); //no need to assert

但是集合实际上是有顺序的。

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

https://stackoverflow.com/questions/3572702

复制
相关文章

相似问题

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