当前位置: 首页 > 面试题库 >

用Java打印HashMap

舒仲渊
2023-03-14
问题内容

我有一个HashMap

private HashMap<TypeKey, TypeValue> example = new HashMap<TypeKey, TypeValue>();

现在,我想遍历所有值并打印它们。

我这样写:

for (TypeValue name : this.example.keySet()) {
    System.out.println(name);
}

它似乎不起作用。

问题是什么?

编辑:另一个问题:这个集合是从零开始的吗?我的意思是,如果它具有1个键并且值将为0或1?


问题答案:

keySet()仅从哈希图中返回一组键,您应该迭代此键集并使用这些键从哈希图中获取值。

在您的示例中,哈希映射键的类型为TypeKey,但是您TypeValue在通用的for循环中指定了密钥,因此无法对其进行编译。您应该将其更改为:

for (TypeKey name: example.keySet()){
            String key = name.toString();
            String value = example.get(name).toString();  
            System.out.println(key + " " + value);  
}

Java8更新:

 example.entrySet().forEach(entry->{
    System.out.println(entry.getKey() + " " + entry.getValue());  
 });

如果您不需要打印键值而只需要哈希图值,则可以使用其他人的建议。

另一个问题:这个集合是零基数吗?我的意思是,如果它具有1个键并且值将为0或1?

从集合返回的集合keySet()是Set。您不能使用索引从Set中获取值,因此这不是从零开始还是从一开始的问题。如果您的哈希图具有一个键,则返回的keySet()将在其中包含一个条目,其大小为1。



 类似资料:
  • 我有一个连接到CUPS的打印机,它支持双面打印,如何通过java例程将其设置为单面打印或双面打印? 我曾尝试使用它的库使用ASET添加和addViewer首选项没有任何运气。 有人能提供一些建议吗?

  • 问题内容: Java中有一种简单的方法可以执行以下操作吗? 连接到打印机(将是本地打印机,并且是连接到机器的唯一打印机)。 在2个不同的打印机纸盘中打印2页的页面。 获取当前的打印队列计数,即我有100项要打印的项目和34项当前已打印,则打印机队列现在应显示为66。 问题答案: 一些快速提示: 从Java打印:请参阅基本打印程序 打印作业的状态:您可以使用PrintJobListener获得一些有

  • 我需要发送一个pdf文件打印在一个网络应用程序的服务器端,打印机完全支持pdf打印等,它是网络以及服务器。pdf也存储在服务器上。 我尝试的是点击一个按钮,打印出pdf文件,目前我有以下代码: 但我有几个问题,我如何将pdf放入输入流以打印出来,我可以选择诸如双面打印之类的选项,以及如何从JSF web应用程序中调用它 谢谢

  • 我正试图把我的脑袋围绕着我在编程集中遇到的一个问题。 我们应该编写从文件中读取并打印出来的代码。我明白,我能做到。 他要我们做的是把它反向打印出来。 文件内容如下: 下面是改进后的代码,我尝试将其放入数组中。 数组中的数据没有打印出来。

  • 问题内容: Java中有什么方法可以打印到特定的IPP打印机?我发现所有示例代码和教程都集中在如何使用以下类似内容打印特定类型的文档上: 此代码段仅打印到找到的第一台能够打印文档的打印机。就我而言,我想通过其URI查找打印机,但似乎不支持此功能。我尝试使用,而不是,并添加了一个属性,但这不会返回任何打印机。我怀疑查找服务正在寻找可以更改其目标URI的打印机,而不是寻找具有该URI的打印机。 作为最

  • 我在标签打印机上打印时遇到了问题。下面的代码在一个上打印4个“标签”(附标签图片)。 下面的代码打印到兄弟QL-500标签打印机上。它打印到3.5"乘1.1"标签上。 如果有人能帮我更好地理解代码,那也太好了。 下面是它打印的内容: