java - 打印出映射的键和值

标签 java maps iteration

我创建了一个映射,其键为整数类型,值是字符串集。我已经用一些测试数据填充了 map ,现在需要编写一个方法来打印 map 的内容,如“key: value, value, value”

我假设迭代映射,并将键分配给 int 变量并将它们打印出来是如何开始的,但是我将如何打印字符串集中的值?

public class HandicapRecords {

    private Map<Integer, Set<String>> handicapMap;

    public HandicapRecords() {
        handicapMap = new HashMap<>();
    }

    public void handicapMap() {
        Set<String> players = new HashSet<>();

        players.add("Michael");
        players.add("Roger"); 
        players.add("Toby");
        handicapMap.put(10, players);

        players = new HashSet<>();
        players.add("Bethany");
        players.add("Martin");
        handicapMap.put(16, players);

        players = new HashSet<>();
        players.add("Megan");
        players.add("Declan");
        handicapMap.put(4, players);
    }

    public void printMap() {
        //code for method to go here
    }

}

最佳答案

您可以像在列表中一样迭代 Set 数据结构(嗯,实际上列表保留了顺序,而集合则不然,但我认为这超出了范围这个问题)。

要打印数据,您可以执行以下操作:

for (Integer num : handicapMap.keySet()) {
        System.out.print("Key : " + String.valueOf(num) + " Values:");
        for (String player : handicapMap.get(num)) {
            System.out.print(" " + player + " ");    
        }
        System.out.println();
    }

关于java - 打印出映射的键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30075479/

相关文章:

python - 无法在 Python 中创建我自己的 "zip"函数

python - 我需要帮助迭代列表列表,通过一个函数

java - Completable Future什么时候将线程释放回线程池?

java - 通过 servlet 传送解压后的文件,无需先在服务器上解压

javascript - 如何在 Leaflet.js 中添加多个标记?

algorithm - 粗糙度降低 : Algorithm for smoothing out shapes

performance - 为什么递归优于迭代?

javascript - 使用 Java 从网络下载生成的图像

java - 我可以使用哪种 Java 线程池来处理来自套接字的数据?

javascript - 带图例的 D3 等值线图