List与hashMap遍历的乱序问题
现有类 :class T{ Long id,String name, ...}get、set、方法以添加
我从数据库中查询出一个结果集是List<T>的list,然后for循环将list放入一个hashMap中map, Map<Long, T>
for(int i=0,i<list.size();i++){
map.put(list.get(i).getId(),list.get(i));
}
map采用iterator遍历
然后分别遍历输出list和map,输出的值的顺序为什么会不一样呢?
我从数据库中查询出一个结果集是List<T>的list,然后for循环将list放入一个hashMap中map, Map<Long, T>
for(int i=0,i<list.size();i++){
map.put(list.get(i).getId(),list.get(i));
}
map采用iterator遍历
然后分别遍历输出list和map,输出的值的顺序为什么会不一样呢?
作者: tongkang 发布时间: 2011-12-06
hashMap的每一个元素的存放位置是根据hashcode的
作者: funfenffun 发布时间: 2011-12-06
hashMap的默认顺序是根据hashcode排列的
list是根据add的顺序
SortedMap可用于排列
list是根据add的顺序
SortedMap可用于排列
作者: skyparty 发布时间: 2011-12-06
真该回去看看数据结构了,连hashmap为什么叫hashmap都忘了,该死!谢谢了!
作者: tongkang 发布时间: 2011-12-06