• 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输出就是随机顺序的,求指导,为什么为会这样???

  • 相关阅读:
    OC面向对象—继承
    OC面向对象—封装
    OC内存管理
    OC方法和文件编译
    OC语言基础知识
    节点操作-2
    留言 节点操作案例
    js 下拉菜单案例
    节点操作
    tab栏切换效果
  • 原文地址:https://www.cnblogs.com/zhangkuilong/p/8637886.html
Copyright © 2020-2023  润新知