zoukankan      html  css  js  c++  java
  • 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));
    }
    }

     

  • 相关阅读:
    系统消息系统公告数据建模
    Chrome部分站点无法启用Flash问题
    使用netstat命令查看端口的使用情况
    Jave基本数据类型
    Mac下Tomcat安装&配置&80默认端口设置
    React学习及实例开发(一)——开始(转载)
    jQuery、layer实现弹出层的打开、关闭功能实例详解
    jQuery获取节点和子节点文本的方法
    jquery 获取$("#id").text()里面的值 需要进行去空格去换行符操作
    ES6数组新增的几个方法
  • 原文地址:https://www.cnblogs.com/1997WY/p/10442181.html
Copyright © 2011-2022 走看看