• 中文
    • English
  • 注册
  • 查看作者
  • Map接口的子类HashMap和LinkedHashMap

    🍜HashMap存储自定义类型键值

    练习:每位学生(姓名,年龄)都有自己的家庭住址。那么,既然有对应关系,则将学生对象和家庭住址存储到map集合中。学生作为键, 家庭住址作为值。

    编写学生类:

    编写测试类:

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

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

    🍝LinkedHashMap

    我们知道HashMap保证成对元素唯一,并且查询速度很快,可是成对元素存放进去是没有顺序的,那么我们要保证有序,还要速度快怎么办呢?在HashMap下面有一个子类LinkedHashMap,它是链表和哈希表组合的一个数据存储结构。

    结果:

    🍠Map集合练习

    需求:
    计算一个字符串中每个字符出现次数。
    分析:

    1. 获取一个字符串对象

    2. 创建一个Map集合,键代表字符,值代表次数。

    3. 遍历字符串得到每个字符。

    4. 判断Map中是否有该键。

    5. 如果没有,第一次出现,存储次数为1;如果有,则说明已经出现过,获取到对应的值进行++,再次存储。

    6. 打印最终结果

    代码:

    🍢JDK9对集合添加的优化

    通常,我们在代码中创建一个集合(例如,List 或 Set ),并直接用一些元素填充它。 实例化集合,几个 add方法 调用,使得代码重复。

    Java 9,添加了几种集合工厂方法,更方便创建少量元素的集合、map实例。新的List、Set、Map的静态工厂方法可以更方便地创建集合的不可变实例。例子:

    需要注意以下两点:

  • 0
  • 0
  • 0
  • 62
  • 请登录之后再进行评论

    登录
  • 任务
  • 实时动态
  • 发布
  • 单栏布局 侧栏位置: