a978306291 2019-07-15 07:39 采纳率: 0%
浏览 419

为什么往哈希映射中添加键值对,输出却是有序的?

代码:
import java.util.HashMap;

import java.util.Map;

public class TQ {

public static void main(String[] args) {
    // TODO 自动生成的方法存根
    Map<String,String> hm= new HashMap<String,String>();
    hm.put("002", "孙悟空");
    hm.put("005", "白龙马");
    hm.put("003", "猪八戒");
    hm.put("004", "沙悟净");
    hm.put("001", "唐   僧");
    System.out.println("原始哈希映射:"+hm);
}

}
图片说明

  • 写回答

2条回答

  • threenewbee 2019-07-15 09:22
    关注

    这个顺序是无法保证的,升序只能理解为因为它们都是字符串常量,所以它们的地址按照某种循序排列,导致hash存在顺序
    但是你插入别的,特别是运算的道德字符串作为key而不是这种写死的,就未必了

    要固定顺序,参考:
    https://blog.csdn.net/nju_mc/article/details/52931468

    或者人为对keyset排序

    评论

报告相同问题?

悬赏问题

  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元