如何让我的哈希图按照我想要的顺序打印[重复]

Posted

技术标签:

【中文标题】如何让我的哈希图按照我想要的顺序打印[重复]【英文标题】:How do I get my hashmap to print in the order I want it to [duplicate] 【发布时间】:2019-06-17 08:16:58 【问题描述】:

我们最近学习了如何使用 HashMaps,我遇到的唯一问题是如何按我想要的顺序放置它们。我希望我的季度销售额从 1 到 4,但现在它正在打印季度销售额 2、3、4、1。

Map<String, String> quarterSalesMap = new HashMap<>();
        quarterSalesMap.put("Quarter 1 sales", "$5,886.61");
        quarterSalesMap.put("Quarter 2 sales", "$8,261.80");
        quarterSalesMap.put("Quarter 3 sales", "$8,435.86");
        quarterSalesMap.put("Quarter 4 sales", "$8,108.74");
            for(Map.Entry sales : quarterSalesMap.entrySet())
                System.out.println(sales.getKey() + ": " + sales.getValue()); 

【问题讨论】:

如果要保证订单,为什么要使用地图?不管怎样,有TreeMapLinkedHashMap等等。 您希望地图尊重插入顺序,还是尊重自定义或自然顺序,而不考虑您在其中输入条目的顺序? 【参考方案1】:

HashMap 是一个无序和无序的Map。使用 LinkedHashMap 用于使用插入顺序的映射或 TreeMap 按自然顺序对字符串进行排序。

【讨论】:

以上是关于如何让我的哈希图按照我想要的顺序打印[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在检索值之前检查哈希映射键是不是存在[重复]

如何按照使用java的确切顺序计算ArrayList<Integer>中的重复项[重复]

将哈希图转换为数组[重复]

静态方法返回空的哈希图

二叉树的垂直顺序遍历

如何避免重复代码初始化 hashmap 的 hashmap?