Preserving inserting order in HashMap & tutorial sample
根据这个问题:如何在HashMap中保留插入顺序?
HashMap makes no guarantees as to the order of the map; in particular,
it does not guarantee that the order will remain constant over time.
但后来我对oracle教程有疑问
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public void updateCoffeeSales(HashMap<String, Integer> salesForWeek) throws SQLException { ... try { ... for (Map.Entry<String, Integer> e : salesForWeek.entrySet()) { updateSales.setInt(1, e.getValue().intValue()); updateSales.setString(2, e.getKey()); updateSales.executeUpdate(); updateTotal.setInt(1, e.getValue().intValue()); updateTotal.setString(2, e.getKey()); updateTotal.executeUpdate(); con.commit(); } } catch (SQLException e ) { ... } finally { ... } |
它来自这里:http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html
他们如何知道updateSales&amp;的价值观? updateTotal不会混合?
文档讨论了键值对的相对顺序。 如果您添加项目
1 2 3 | a:b c:d e:f |
对于哈希映射,您可以在迭代时以任意顺序获取它们。 例如,你可以得到
1 2 3 | c:d a:b e:f |
但是,这种重新排序无法打破对。 换句话说,
当您遍历地图的