终极HashSet HashMap TreeSet TreeMap深入分析下

最常用的

Map<String,String> map =new HashMap<String,String>();

 System.out.println("常用==============");    这是最常用的
        map.put("NO01", "常智皓");
        map.put("NO02", "贾宝玉");
        
        map.put("NO01", "常伟");
        map.put(null, null);
        map.put(null, "刘优");
        
        System.out.println(map);
        String name =map.get("NO01");
        System.out.println(name);
       如果添加对象的话就要实现 comparable接口 或者自定义一个类继承comparator


        Map<our, String> map4 = new TreeMap<our, String>(new myc());  //括号中是自定义类的实例化 如果1、2俩中方法都是用了则默认使用构造方法里的排列方式
        map4.put(new our(1,"aaa"), "1");
        map4.put(new our(2,"bbb"), "2");
        map4.put(new our(3,"ccc"), "3");
        System.out.println(map4);

实现接口 implements Comparable<our>

    @Override
    public int compareTo(our o) {
        // TODO Auto-generated method stub
        if(this.id > o.id) {
            return 1;
        }else if (this.id < o.id) {
            return -1;
        }
        return 0;
    }

自定义类

class myc implements Comparator<our>{

    @Override
    public int compare(our o1, our o2) {
        // TODO Auto-generated method stub
        return  o2.getId() - o1.getId() ;
    }
    
}

our全部类

class our implements Comparable<our>{
    private int id;
    private String name;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "our [id=" + id + ", name=" + name + "]";
    }
    public our(int id, String name) {
        super();
        this.id = id;
        this.name = name;
    }
    @Override
    public int compareTo(our o) {
        // TODO Auto-generated method stub
        if(this.id > o.id) {
            return 1;
        }else if (this.id < o.id) {
            return -1;
        }
        return 0;
    }
    
}

//总结一句话  
//        Hashset  HashMap  如果想传入相同的对象  需要重写equals  hashcode
//        TreeSet  TreeMap  如果想传入相同的对象  1、实现comparable2、书写一个类 继承comparator(需要在建对象的时候构造方法里面new一个实例对象)
    

猜你喜欢

转载自blog.csdn.net/qq_32736999/article/details/81748505