在Java中使用for循环打印树映射

在Java中使用for循环打印树映射,java,Java,我使用以下代码: public void showTablet () { for (Map.Entry<String, Tablet> entry : tableMap.entrySet()) { System.out.println(entry.toString()); } } 我想要的结果 Brand: MyBrand, Model no.:A123, Price:3000.0 Brand: BrandTwo, Model no.:T2

我使用以下代码:

public void showTablet () {
    for (Map.Entry<String, Tablet> entry : tableMap.entrySet()) {     
        System.out.println(entry.toString());
    }
}
我想要的结果

Brand: MyBrand, Model no.:A123, Price:3000.0
Brand: BrandTwo, Model no.:T222, Price:2500.0

为什么钥匙也打印出来了

因为您正在打印一个
Map.Entry
,其中包含键和值

如果只需要值,可以使用
Map.Entry
getValue()
方法:

System.out.println(entry.getValue()); // will call toString by default

这是假设
Tablet
有一个正确重写的
toString
方法,当然(如果我正确理解您的输出,它似乎有这个方法)。

因为您正在打印一个
Map.Entry
,其中包含键和值

如果只需要值,可以使用
Map.Entry
getValue()
方法:

System.out.println(entry.getValue()); // will call toString by default
这是假设
Tablet
有一个正确覆盖的
toString
方法,当然(如果我正确理解您的输出,它似乎有这个方法)。

试试:

System.out.println(entry.getKey() + " : " + entry.getValue());
尝试:


你不需要弄乱条目

for(Tablet tablet : tabletMap.values()) {
    System.out.println(tablet);
}

你不需要弄乱条目

for(Tablet tablet : tabletMap.values()) {
    System.out.println(tablet);
}

下面是一个获取键/值对的示例

public void showTablet () {
     for (Map.Entry<String, Tablet> entry : tableMap.keySet()) {     
        System.out.println("Key: " + entry + " Value: " + tableMap.get(entry));
    }
}
public void showTablet(){
对于(Map.Entry:tableMap.keySet()){
System.out.println(“键:+entry+”值:+tableMap.get(entry));
}
}

下面是一个获取键/值对的示例

public void showTablet () {
     for (Map.Entry<String, Tablet> entry : tableMap.keySet()) {     
        System.out.println("Key: " + entry + " Value: " + tableMap.get(entry));
    }
}
public void showTablet(){
对于(Map.Entry:tableMap.keySet()){
System.out.println(“键:+entry+”值:+tableMap.get(entry));
}
}
或者只需遍历并跳过条目集。或者只需遍历并跳过条目集。