Java按字母顺序打印

Java按字母顺序打印,java,Java,我需要我的HashMap按字母顺序打印出来。 我正在制作餐厅菜单,上面有菜名和价格。 我仍在学习这些东西,但到目前为止,我意识到我将需要HashMap,因为我将有一个名称和价格的特定项目。 我可以使用其他东西吗,如果可以,什么,如果不可以,我如何只打印一次,例如从鳄梨到柠檬皮,例如,无论价格如何。 我见过一些变通方法,包括整数,但不包括名称 任何帮助都将不胜感激 谢谢只需使用树形图,如果项目的类实现了可比性,它将按自然顺序对项目进行排序;如果没有,您可以指定Comparator,示例代码: pa

我需要我的HashMap按字母顺序打印出来。 我正在制作餐厅菜单,上面有菜名和价格。 我仍在学习这些东西,但到目前为止,我意识到我将需要HashMap,因为我将有一个名称和价格的特定项目。 我可以使用其他东西吗,如果可以,什么,如果不可以,我如何只打印一次,例如从鳄梨到柠檬皮,例如,无论价格如何。 我见过一些变通方法,包括整数,但不包括名称

任何帮助都将不胜感激


谢谢

只需使用树形图,如果项目的类实现了可比性,它将按自然顺序对项目进行排序;如果没有,您可以指定Comparator,示例代码:

package com.company;

import java.util.Map;

public class Main {

    public static void main(String[] args) {

        Map<String, Integer> map = new TreeMap<>();
        map.put("Pizza", 20);
        map.put("Spaghetti", 20);
        map.put("Ice Cream", 20);

        for (String s : map.keySet())
            System.out.println(s);
    }
}
package.com公司;
导入java.util.Map;
公共班机{
公共静态void main(字符串[]args){
Map Map=newtreemap();
地图。放置(“比萨饼”,20);
地图。放置(“意大利面”,20);
地图。放置(“冰淇淋”,20);
对于(字符串s:map.keySet())
系统输出打印项次;
}
}
输出:

冰激凌

披萨


意大利面条

此线程表明treemapXyexs是正确的,也请检查下面的答案。TreeMap按键排序。LinkedHashMap按顺序添加到地图中,你可以用它自己排序,因为字母顺序似乎不太现实。@JoopEggen让这个人按照自己的意愿对食物进行排序:Dhanks这样做了,但是因为我需要打印食物和价格,所以我删除了for循环,只添加到println地图中(在我的例子中是食物)。我得到了{avocado-212,…,柠檬-1}的热情。当然D 1还有一件事:在您的案例中,您如何只打印价格。如果我们把spagetti换成21,冰淇淋换成22。输出结果是:比萨意大利面冰淇淋(20,21,22)简单,只需执行map.values(),它将返回价格列表(在我的示例中为所有20)。我马上就发布代码示例。你太棒了!:但是现在我注意到,如果价格是0.20,或者如果第二个值是01,比如说我在目录中的数字(这不是最初的问题,这是如果比萨饼是20,她的目录号是001),我会得到错误(不是错误,而是错误的值)。如果你不知道这完全可以,你帮了很多忙!:)再简单一次:D用“Double”替换代码中的每个“整数”,并将价格从20,21,22更改为20.0,21.0,22.0或20d、21d、22d。