hashmap 是无序的但是实际输出有序。。
以下代码,我运行的时候会输出但是我创建的顺序是张三王一李四明显程序帮我排序了,但是hashmap是无序的,treemap才是有序的,为什么这里hashmap也输出有序呢?...
以下代码,我运行的时候
会输出
但是我创建的顺序是张三王一李四
明显程序帮我排序了,但是hashmap是无序的,treemap才是有序的,为什么这里hashmap也输出有序呢?
是哪段代码实现了排序?
谢谢了
*************************
map里面的元素为:
001 张三
003 王一
005 李四
************************
****************************
package Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class testemp {
public static void main(String[] args) {
Map m = new HashMap();
Emp emp1 = new Emp("001","张三");
Emp emp2 = new Emp("005","李四");
Emp emp3 = new Emp("003","王一");
m.put(emp1.getid(),emp1.getname());
m.put(emp2.getid(),emp2.getname());
m.put(emp3.getid(),emp3.getname());
Set s = m.keySet();
Iterator it = s.iterator();
System.out.println("map里面的元素为:");
while(it.hasNext()){
String a = (String)(it.next());
String b = (String)(m.get(a));
System.out.println(a+" "+b);
}
}
}
********************************* 展开
会输出
但是我创建的顺序是张三王一李四
明显程序帮我排序了,但是hashmap是无序的,treemap才是有序的,为什么这里hashmap也输出有序呢?
是哪段代码实现了排序?
谢谢了
*************************
map里面的元素为:
001 张三
003 王一
005 李四
************************
****************************
package Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class testemp {
public static void main(String[] args) {
Map m = new HashMap();
Emp emp1 = new Emp("001","张三");
Emp emp2 = new Emp("005","李四");
Emp emp3 = new Emp("003","王一");
m.put(emp1.getid(),emp1.getname());
m.put(emp2.getid(),emp2.getname());
m.put(emp3.getid(),emp3.getname());
Set s = m.keySet();
Iterator it = s.iterator();
System.out.println("map里面的元素为:");
while(it.hasNext()){
String a = (String)(it.next());
String b = (String)(m.get(a));
System.out.println(a+" "+b);
}
}
}
********************************* 展开
展开全部
hashMap是无序的,这里的无序是指输出的顺序和put进去的顺序不一样,这叫无序。至于输出的顺序总是一个,我觉得这个顺序可能和机器也有关,不同的机器输出的顺序都是不一样的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Demo{
public static void main(String[] args) {
Map m = new HashMap();
m.put("001","张三");
m.put("005","李四");
m.put("003","王一");
Set s = m.keySet();
Iterator it = s.iterator();
System.out.println("map里面的元素为:");
while(it.hasNext()){
String a = (String)(it.next());
String b = (String)(m.get(a));
System.out.println(a+" "+b);
}
}
}
我改了你的代码,但是我的结果是李四张三王一
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Demo{
public static void main(String[] args) {
Map m = new HashMap();
m.put("001","张三");
m.put("005","李四");
m.put("003","王一");
Set s = m.keySet();
Iterator it = s.iterator();
System.out.println("map里面的元素为:");
while(it.hasNext()){
String a = (String)(it.next());
String b = (String)(m.get(a));
System.out.println(a+" "+b);
}
}
}
我改了你的代码,但是我的结果是李四张三王一
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有序的定义是什么?????
有序的定义是和存放的顺序一样,不是指按从大到小的顺序排列。去看看hash算法吧。大兄弟
有序的定义是和存放的顺序一样,不是指按从大到小的顺序排列。去看看hash算法吧。大兄弟
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询