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

     

  • 相关阅读:
    iOS开发UI篇—UIScrollView控件介绍
    iOS开发UI篇—iOS开发中三种简单的动画设置
    iOS开发UI篇—iOS开发中Xcode的一些使用技巧
    iOS开发UI篇—在ImageView中添加按钮以及Tag的参数说明
    iOS开发UI篇—KVC简单介绍
    iOS开发UI篇—从代码的逐步优化看MVC
    iOS开发UI篇—xib的简单使用
    iOS开发UI篇—字典转模型
    iOS开发UI篇—九宫格坐标计算
    A1005. Spell It Right
  • 原文地址:https://www.cnblogs.com/1997WY/p/10442181.html
Copyright © 2020-2023  润新知