JAVA#HashMap'学习札记

1.Map是用来保存具有映射关系的数据(Key------Value);

2.Key用Set来存放,不可重复;Value用Collection存放,可以重复;一个Key配一个Value为一个Entry对,Entry对用Set来进行存放,同样不可重复;

3.

public class HshMp {
    @Test
    public void MM(){
        Map mmp=new HashMap();
        mmp.put("kobe",24);
        mmp.put("Dunkun",21);
        mmp.put("Jordan",45);
        mmp.put("Air Jordan",23);
        mmp.put("Kobe",10);
        mmp.put(new Beauty(23,"Gary Grant"),"Hitchcock");
        System.out.println(mmp.size());
        System.out.println(mmp);
        System.out.println("$$$$$$$$$$$$$$$$$$$$");
        mmp.remove("Dunkun");
        System.out.println(mmp);
        System.out.println("$$$$$$$$$$$$$$$$$$$$");

        System.out.println(mmp.get("Kobe"));
        System.out.println("$$$$$$$$$$$$$$$$$$$$");

        //void putAll(Map map)  将map中的所有元素添加进当前集合
        //void clear()  清空
        System.out.println(mmp.containsKey("kobe"));
        System.out.println(mmp.containsKey("kobebryant"));
        System.out.println(mmp.containsValue("kobe"));
        System.out.println(mmp.containsValue(23));
        System.out.println("$$$$$$$$$$$$$$$$$$$$");

        //Key
        Set set=mmp.keySet();
        for(Object obj:set){
            System.out.println(obj);
        }
        System.out.println("$$$$$$$$$$$$$$$$$$$$");

        //Value
        Collection co=mmp.values();
        for(Object o:co){
            System.out.println(o);
        }
        System.out.println("$$$$$$$$$$$$$$$$$$$$");

        //Enrty
        Set pair=mmp.entrySet();
        for(Object o:pair){
            System.out.println(o+"-------->"+mmp.get(o));
        }
        System.out.println("$$$$$$$$$$$$$$$$$$$$");

        Set couple=mmp.entrySet();
        for(Object o:couple){
            Map.Entry entry=(Map.Entry)o;
            System.out.println(entry.getKey()+"======>"+entry.getValue());

        }

    }
}
class Beauty implements Comparable{
    private Integer BeautyNum;
    private String name;

    public Beauty(Integer BeautyNum, String name) {
        this.BeautyNum = BeautyNum;
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getBeautyNum() {
        return BeautyNum;
    }

    public void setBeautyNum(Integer beautyNum) {
        BeautyNum = beautyNum;
    }

    @Override
    public String toString() {
        return "Name[name = " + this.getName() + "] BeautyNumber[Num = " + this.getBeautyNum()+"]";
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Beauty mm = (Beauty)obj;
        if (name == null) {
            if (mm.name != null)
                return false;
        } else if (!name.equals(mm.name))
            return false;
        if (BeautyNum != mm.BeautyNum)
            return false;

        return true;
    }


    @Override
    public int hashCode() {
        final int kobe = 31;
        int iverson = 3;
        iverson = kobe * iverson + BeautyNum;
        iverson = kobe * iverson + ((name == null) ? 0 : name.hashCode());
        return iverson;
    }

    @Override
    public int compareTo(Object o) {
        if(o instanceof Beauty){
            Beauty mm=(Beauty)o;
            int num=this.getBeautyNum().compareTo(mm.getBeautyNum());
            if(num==0){
                return this.getName().compareTo(mm.getName());
            }
            else
                return num;
        }
        return 0;
    }
}
6
{Name[name = Gary Grant] BeautyNumber[Num = 23]=Hitchcock, Jordan=45, Dunkun=21, Kobe=10, Air Jordan=23, kobe=24}
$$$$$$$$$$$$$$$$$$$$
{Name[name = Gary Grant] BeautyNumber[Num = 23]=Hitchcock, Jordan=45, Kobe=10, Air Jordan=23, kobe=24}
$$$$$$$$$$$$$$$$$$$$
10
$$$$$$$$$$$$$$$$$$$$
true
false
false
true
$$$$$$$$$$$$$$$$$$$$
Name[name = Gary Grant] BeautyNumber[Num = 23]
Jordan
Kobe
Air Jordan
kobe
$$$$$$$$$$$$$$$$$$$$
Hitchcock
45
10
23
24
$$$$$$$$$$$$$$$$$$$$
Name[name = Gary Grant] BeautyNumber[Num = 23]=Hitchcock-------->null
Jordan=45-------->null
Kobe=10-------->null
Air Jordan=23-------->null
kobe=24-------->null
$$$$$$$$$$$$$$$$$$$$
Name[name = Gary Grant] BeautyNumber[Num = 23]======>Hitchcock
Jordan======>45
Kobe======>10
Air Jordan======>23
kobe======>24

猜你喜欢

转载自blog.csdn.net/Iverson941112/article/details/82290395