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)); } } }

 

.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM