Java 在<;中按插入顺序迭代HasMap;逻辑:迭代>;

Java 在<;中按插入顺序迭代HasMap;逻辑:迭代>;,java,struts,hashmap,loops,Java,Struts,Hashmap,Loops,我有这样的HasMap对象: HashMap<String,String> fileCounter = new HashMap<String,String>(); fileCounter.put("Total Files","15"); fileCounter.put("Total Success Files","10"); fileCounter.put("Total Failed Files","2"); fileCounter.put("Total In Proc

我有这样的HasMap对象:

HashMap<String,String> fileCounter = new HashMap<String,String>();

fileCounter.put("Total Files","15");
fileCounter.put("Total Success Files","10");
fileCounter.put("Total Failed Files","2");
fileCounter.put("Total In Process Files","4");
fileCounter.put("Total Records","100");
fileCounter.put("Total Success Records","80");
fileCounter.put("Total Failed Records","10");
fileCounter.put("Total In Process Records","10");
<logic:iterate id="mapEntry" name="fileCounter">
  <tr>
    <td><bean:write name="mapEntry" property="key"></td>
    <td><bean:write name="mapEntry" property="value"></td>
  </tr>
</logic:iterate>
Total Files         15
Total Success Files     10
Total Failed Files      2
Total In Process Files  4
Total Records       10
Total Success Records   80
Total Failed Records    10
Total In Process Records    10

使用HashMap而不是常规HashMap。它按照插入项的顺序进行迭代。

既然您所做的只是对一组具有关联值的字符串进行迭代,而您要手动插入它们,那么为什么要使用映射呢?只需从标题和数据中构造字符串,并将它们放入列表中。这是我唯一面临问题的代码,按Hasmap的顺序排列,实际代码是另一个。我得到了正确的答案,现在我可以做到了。使用错误的数据结构对我来说似乎很愚蠢,仅此而已。@DaveNewton我认为映射提供了一种方便的方式来传递名称/值数据,而无需在必要时限制其显示方式。在控制器中构建字符串列表还为时过早,因为条目将在JSP页面上的HTML表中输出。