关于java中HasMap的遍历输出不按顺序
packageDao;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;impor...
package Dao;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;public class main{
public static void main(String []args){
Map hasmap=new HashMap();
hasmap.put("a", "值a");
hasmap.put("b", "值b");
hasmap.put("c", "值c");
hasmap.put("d", "值d"); Iterator i = hasmap.entrySet().iterator();
while(i.hasNext()){
Entry entry=(Entry)i.next();
Object key=entry.getKey();
Object value=entry.getValue();
System.out.println("键"+key+value);
}
}
}输出信息是;键d值d
键b值b
键c值c
键a值a
【问 为什么不是abcd?】 展开
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;public class main{
public static void main(String []args){
Map hasmap=new HashMap();
hasmap.put("a", "值a");
hasmap.put("b", "值b");
hasmap.put("c", "值c");
hasmap.put("d", "值d"); Iterator i = hasmap.entrySet().iterator();
while(i.hasNext()){
Entry entry=(Entry)i.next();
Object key=entry.getKey();
Object value=entry.getValue();
System.out.println("键"+key+value);
}
}
}输出信息是;键d值d
键b值b
键c值c
键a值a
【问 为什么不是abcd?】 展开
4个回答
2013-07-30
展开全部
第一种:能顺序遍历就用ArrayList第二种:先把hashMap的key 拿出来 然后把key 排序,通过HashMap的get(String key) 方法取出值 就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-30
展开全部
设置了首尾倒置函数,也会出现这种类似情况。还有,你要注意:map中不允许存在重复的键名,你也可以使用其他的方式来实现,比如List,排序的话还得靠你自己来实现了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-30
展开全部
hashCode() 方法得到其 hashCode 值——每个 Java 对象都有 hashCode() 方法,都可通过该方法获得它的 hashCode 值。得到这个对象的 hashCode 值之后,系统会根据该 hashCode 值来决定该元素的存储位置。
一般来说hasmap存的是无序的
一般来说hasmap存的是无序的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用 LinkedHashMap
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询