使用 Map 创建菜单,但要删除 {} 和“,”

Create menu using Map but to remove the { } and ", "

我创建了这个菜单:

@SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
HashMap<Integer, String> menu = new HashMap<>();

menu.put(1, "Show clients from banks" + "\n");
menu.put(2, "Create new bank" + "\n");
menu.put(3, """
        \t. "Choose a bank from where you want to see the clients:
             A. BNP
             B. ING
             C. KBC
        \s""");
System.out.println(menu);

我得到了输出位,正如您在输出中看到的那样,有一些我不想要的 {} 和“,”,还有其他方法可以使用 HashMap 创建类似的东西吗?

输出:

{1=Show clients from banks
, 2=Create new bank
, 3=    . "Choose a bank from where you want to see the clients: 
     A. BNP
     B. ING
     C. KBC
 }

期望的输出 - 因为它会是我将使用 sout ,但我必须使用它 HashMap<Integer, String> menu = new HashMap<>();:

 1=Show clients from banks
 2=Create new bank
 3= . "Choose a bank from where you want to see the clients: 
     A. BNP
     B. ING
     C. KBC
 

您需要重写 HashMap 的 toString(),这是一种糟糕的方法。创建自己的 printMenu() 方法来迭代自己。我还会从您的选项中删除新行。

public void printMenu(Map<Integer, String> menu) {
    for (Entry<Integer, String> entry : menu) {
       System.out.println(String.format("%d) %s", entry.getKey(), entry.getValue()));
    }
}