Map集合不继承Collection接口,(HashMap类和TreeMap类)---输出结果,如果将Key值修改为首位不为0,HashMap输出就是随机顺序的,求指导,为什么为会这样???

Map集合不继承Collection接口,(HashMap类和TreeMap类)

(1)创建Emp类

public class Emp {
private String e_id;
private String e_name;
public Emp( String e_id,String e_name) {
this.e_id = e_id;
this.e_name = e_name;
}
public String getE_id() {
return e_id;
}
public void setE_id(String e_id) {
this.e_id = e_id;
}
public String getE_name() {
return e_name;
}
public void setE_name(String e_name) {
this.e_name = e_name;
}

}

(2)创建主类

import java.util.*;

public class MapText { // 创建类MapText
public static void main(String[] args) { // 主方法
Map<String,String> map = new HashMap<>(); // 由HashMap实现的Map对象
Emp emp = new Emp("006", "张三");
Emp emp2 = new Emp("005", "李四"); // 创建Emp对象
Emp emp3 = new Emp("002", "王一");
map.put(emp.getE_id(), emp.getE_name());
map.put(emp2.getE_id(), emp2.getE_name()); // 将对象添加到集合中
map.put(emp3.getE_id(), emp3.getE_name());
Set<String> set = map.keySet(); // 获取Map集合中的key对象集合
Iterator<String> it = set.iterator();
System.out.println("HashMap类实现的Map集合,无序:");
while (it.hasNext()) {
String str = (String) it.next();
String name = (String) map.get(str); // 遍历Map集合
System.out.println(str + " " + name);
}
TreeMap<String,String> treemap = new TreeMap<>(); // 创建TreeMap集合对象
treemap.putAll(map); // 向集合添加对象
Iterator<String> iter = treemap.keySet().iterator();
System.out.println("TreeMap类实现的Map集合,键对象升序:");
while (iter.hasNext()) { // 遍历TreeMap集合对象
String str = (String) iter.next(); // 获取集合中的所有key对象
String name = (String) treemap.get(str); // 获取集合中的所有values值
System.out.println(str + " " + name);
}
}
}

输出结果:

HashMap类实现的Map集合,无序:
002 王一
005 李四
006 张三
TreeMap类实现的Map集合,键对象升序:
002 王一
005 李四
006 张三

HashMap和TreeMap输出结果都是按顺序来的;

如果将Key值修改为首位不为0,HashMap输出就是随机顺序的,求指导,为什么为会这样???

原文地址:https://www.cnblogs.com/zhangkuilong/p/8637886.html