• HashMap和LinkedHashMap


     HashMap集合

    HashMap存取没有顺序

    HashMap存储自定义类型键值

    实例

    l  学生类

    publicclass Student {

         private String name;

         privateintage;

     

         //编写构造方法,文档中已省略

         //编写get,set方法,文档中已省略

         //编写toString方法,文档中已省略

    }

    l  测试类

    publicclass HashMapTest {

         publicstaticvoid main(String[] args) {

             //1,创建hashmap集合对象。

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

            

             //2,添加元素。

             map.put(new Student("lisi",28), "上海");

             map.put(new Student("wangwu",22), "北京");

             map.put(new Student("zhaoliu",24), "成都");

             map.put(new Student("zhouqi",25), "广州");

             map.put(new Student("wangwu",22), "南京");

            

             //3,取出元素。键找值方式

             Set<Student>keySet = map.keySet();

             for(Student key : keySet){

                  String value = map.get(key);

                  System.out.println(key.toString()+"....."+value);

             }

            

             //取出元素。键值对方式

             Set<Map.Entry<Student, String>>entrySet = map.entrySet();

             for (Map.Entry<Student, String>entry : entrySet) {

                  Student key = entry.getKey();

                  String value = entry.getValue();

                  System.out.println(key.toString()+"....."+value);

             }

         }

    }

    l  当给HashMap中存放自定义对象时,如果自定义对象作为key存在,这时要保证对象唯一,必须复写对象的hashCode和equals方法(如果忘记,请回顾HashSet存放自定义对象)。

    l  如果要保证map中存放的key和取出的顺序一致,可以使用LinkedHashMap集合来存放

     

     

    LingkedHashMap集合

    LingkesHashMap存储取出有序

    LinkedHashMap<person, String> map = new LinkedHashMap<person, String>();
    person p1 = new person("张三", 18);
    person p2 = new person("张si", 20);
    person p3 = new person("张三", 18);
    map.put(p1, "一般");
    map.put(p2, "二般");
    map.put(p3, "三般");
    Set<person> set=map.keySet();
    for(person s:set){
    System.out.println(s+"...."+map.get(s));
    }
    }

     

  • 相关阅读:
    css边框以及其他常用样式
    jemeter学习-badboy录制与代理服务器录制
    linux基础命令学习
    cookie与session
    网址保存
    安全性测试要点转摘
    Charles弱网测试转载
    java 中文乱码以及转码
    spring学习总结——高级装配学习四(运行时:值注入、spring表达式)
    spring学习总结——高级装配学习三(Bean的作用域)
  • 原文地址:https://www.cnblogs.com/1997WY/p/10442181.html
Copyright © 2020-2023  润新知