HashMap 存储自定义类型键值

 基础代码:

public class Demo01 {
    public static void main(String[] args) {
        //HashMap   存储自定义类型键值
        HashMap<String, String> map=new HashMap<String, String>();
        
        //存值
        map.put("张三", "123");
        map.put("小红", "123");
        map.put("张三", "456");
        
        //删除
        //map.remove("张三");
        
        //取值
        //System.out.println(map.get("张三"));
        
        
        //遍历
        //1.keySet+增强for 遍历
        //获取所有key所在的Set集合
        Set<String> set =map.keySet();
        for (String key : set) {
            System.out.println(map.get(key));
        }
        
        //2.keySet+iterator 遍历
        Iterator<String> it=set.iterator();
        while (it.hasNext()) {
            String k=it.next();
            String value=map.get(k);
            //打印key+value
            System.out.println(k+" "+value);
            
        }
    }
}

 遍历:

public class Demo02 {
    public static void main(String[] args) {
        //Entry<k, v>
        HashMap<Integer, String> map=new HashMap<Integer,String>();
        map.put(1, "邢昊天");
        map.put(2, "姜泽坤");
        map.put(3, "刘小雨");
        //遍历
        //获取所有entry对象所在的set集合
        Set<Map.Entry<Integer, String>> set =map.entrySet();
        for (Map.Entry<Integer, String> entry : set) {
            int key=entry.getKey();
            String value=entry.getValue();
            System.out.println(key+" "+value);
        }
        
        //获取set集合的迭代器对象
        Iterator<Map.Entry<Integer, String>> it=set.iterator();
        while (it.hasNext()) {
            //得到每一个entry对象
            Map.Entry<Integer, String> entry = it.next();
            //从entry对象中获得key
            int key=entry.getKey();
            //从entry对象中获取value
            String value=entry.getValue();
            System.out.println(key+" "+value);
        }
        
    }
    
}

自定义类型:

public class Demo03 {
    public static void main(String[] args) {
        HashMap<Person, String> map=new HashMap<Person,String>();
        map.put(new Person("小红", 18),"java1018");
        map.put(new Person("小绿", 19),"java1018");
        map.put(new Person("小紫", 20),"java1217");
        map.put(new Person("小红", 18),"java1217");
        //遍历
        Set<Person> set=map.keySet();
        for (Person p : set) {
            System.out.println(p+" "+map.get(p));
        }
    }
}

 

.

posted @ 2019-12-30 15:30  墨染千城  阅读(649)  评论(0)    收藏  举报