San*_*osh 6 java iterator hashmap
这是我的代码,用于将数据存储到HashMap中并使用迭代器显示数据
public static void main(String args[]) {
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("aaa", "111");
hm.put("bbb", "222");
hm.put("ccc", "333");
hm.put("ddd", "444");
hm.put("eee", "555");
hm.put("fff", "666");
Iterator iterator = hm.keySet().iterator();
while (iterator.hasNext()) {
String key = (String) iterator.next();
String val = hm.get(key);
System.out.println(key + " " + val);
}
}
Run Code Online (Sandbox Code Playgroud)
但它没有按照我存储的顺序显示.有人可以告诉我哪里出错了吗?我怎样才能获得订单中的元素?
您需要使用LinkedHashMap,因为它维护其条目的顺序,这与HashMap不同.
来自javadocs:
...具有可预测迭代顺序的Map接口的实现.此实现与HashMap的不同之处在于它维护了一个贯穿其所有条目的双向链表.此链接列表定义迭代排序,通常是键插入映射的顺序(插入顺序).
| 归档时间: |
|
| 查看次数: |
12067 次 |
| 最近记录: |