map.put().....
Iterator it = map.values().iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
你再迭代出it中的数据,顺序和存进map数据的顺序完全不一样?
难道是HashMap中的键-值对是按照它的hash值顺序排列的?
7 个解决方案
#1
hashmap不保存你存放时候的顺序
#2
谢谢
#3
在Map 中插入、删除和定位元素,HashMap 是最好的选择。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。
#4
hashmap类是散列映射并不保证它的元素顺序.因此,元素加入散列映射的顺序并不一定是它们被迭代函数读出的顺序.
#5
学习
#6
用LinkedHashMap,可以保证迭代输出的顺序和输入的一样
#7
如果你又想用Map又想保持顺序,可以使用LinkedHashMap
它和HashMap一样,但是可以保证插入顺序,但是这样也增加了一点点开销(这个不会太大)
它和HashMap一样,但是可以保证插入顺序,但是这样也增加了一点点开销(这个不会太大)
#1
hashmap不保存你存放时候的顺序
#2
谢谢
#3
在Map 中插入、删除和定位元素,HashMap 是最好的选择。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。
#4
hashmap类是散列映射并不保证它的元素顺序.因此,元素加入散列映射的顺序并不一定是它们被迭代函数读出的顺序.
#5
学习
#6
用LinkedHashMap,可以保证迭代输出的顺序和输入的一样
#7
如果你又想用Map又想保持顺序,可以使用LinkedHashMap
它和HashMap一样,但是可以保证插入顺序,但是这样也增加了一点点开销(这个不会太大)
它和HashMap一样,但是可以保证插入顺序,但是这样也增加了一点点开销(这个不会太大)