java - 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
解决方案
HashMap 不维护元素的插入顺序。
如果要维护插入顺序,请使用 LinkedHashMap 而不是 HashMap 实现
参考:https ://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html
推荐阅读
- javascript - JSON对象的逆时间顺序
- mysql - AWS RDS MySQL innodb/btr_search_latch
- r - 为什么我的自定义二项式函数会给我一个 $Inf$ 作为回报?
- python - pathlib 和字符串连接的控制顺序
- reactjs - React Google Analytics - 事件发送但未显示
- matlab - 如何更改代码以使其在输入小于或等于零的数字时指示结束并阻止用户输入数据
- android - 在没有 cognito 的情况下访问 android 中的 aws 私有存储桶
- javascript - 是否可以从元素内的 DOM 中删除 textNode?
- python - Pandas:尽管长格式的数据框中缺少值,但如何包含所有行的所有列?
- node.js - 使用 NodeJS 创建 S3 signedUrl 时出现“NoSuchKey”错误