首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >迭代对象的TreeMap (不是字符串!!)在Java中

迭代对象的TreeMap (不是字符串!!)在Java中
EN

Stack Overflow用户
提问于 2013-06-10 00:41:10
回答 3查看 1.7K关注 0票数 0

我有一个服务器树状图:

代码语言:javascript
复制
TreeMap server_map = new TreeMap<String, Server>() ;

我想遍历整个地图来打印所有的服务器。使用这种循环:

代码语言:javascript
复制
for (Map.Entry<String, Server> entry : server_map.entrySet())
{
    System.out.println(entry.getKey() + "/" + entry.getValue().foo);
}

这是行不通的,因为有一个未解决的编译问题:

类型不匹配:无法从元素类型对象转换为Map.Entry

难道没有可能在服务器的树状图上迭代吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-10 00:44:20

将声明更改为:

代码语言:javascript
复制
TreeMap<String, Server> server_map = new TreeMap<String, Server>() ;
票数 3
EN

Stack Overflow用户

发布于 2013-06-10 01:33:49

还请注意,由于java7不需要在右侧声明泛型类型,所以可以使用菱形运算符,节省一些书写。

代码语言:javascript
复制
TreeMap<String, Server> server_map = new TreeMap<>() ;
票数 0
EN

Stack Overflow用户

发布于 2015-06-19 18:36:59

在Java 8中,您可以这样做:

代码语言:javascript
复制
TreeMap server_map = new TreeMap();
for (Map.Entry entry : server_map.entrySet()){
 System.out.println(entry.getKey() + "/" + ((Server)entry.getValue()).foo);
}

我刚做了这样的事情,解决了一个类似的问题。如果您使用<String, Server>方式,它将希望您使用Java1.5语法。

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

https://stackoverflow.com/questions/17015575

复制
相关文章

相似问题

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