首页 > 解决方案 > java中Hash Map中插入字符。HashMab中字符的顺序与输入顺序不同

问题描述

public static HashMap<Character,Double> symbols = new HashMap<>();

    public static void getSymbol() {
        char ch = ' ';
        double pro;
        while (ch!='`') {
            Scanner scanner = new Scanner(System.in);
            System.out.println("Input the character");
             ch = scanner.next().charAt(0);
            if (ch == '`')break;
            Scanner num = new Scanner(System.in);
            pro = num.nextDouble();
            symbols.put(ch, pro);

        }
        System.out.println(symbols);

    }
}

当我a,b,c,q以这个特定的顺序输入时
,输出HashMap将是:a,q,b,c

标签: javahashmap

解决方案


HashMap 不维护元素的插入顺序。
如果要维护插入顺序,请使用 LinkedHashMap 而不是 HashMap 实现

参考:https ://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html


推荐阅读