一、Map汇合

public interface Map<K,V>

  • 创立Map接口的对象

    public class HashMap<K,v> implements Map<K,V>


    例:
    留神:不反复,若有两个,则键与前面那个值匹配。

    二、Map汇合的基本功能


    例:

    三、Map汇合的获取性能


    例:

  • get()
    留神get()中键不存在,返回null
  • keySet()
  • values()

    四、Map汇合的遍历形式(一)


    例:

    遍历:
    留神遍历的是键

    五、Map汇合的遍历形式(二)

    《结婚证》

    HashMap<K,V>中有办法entrySet(),返回Set<Map.Entry<K,V>>(返回 键值对 它被封装在Set汇合中)

    ·

    public static interface Map.Entry<K,V>

    此接口有办法getKey(),getValue()
    例:
    留神遍历的是键值对。

    案例一



    操作:
    1、学生类(略)
    2、HashMap<>初始化

    3、遍历一
    keySet()+加强for

    留神get()失去的是学生对象,还须要getName、getAge失去理论值
    4、遍历二
    entrySet()+加强for

    留神getvalue失去的是学生对象,还须要getName、getAge失去理论值

    案例二



    操作:

    重写hashCode()、equals()

案例三:汇合嵌套


操作:
创立三个HashMap对象

遍历:
两个加强for

案例四



操作:

遍历:

本人写一下!

案例五



操作:

  • 输出:

    Scanner sc = new Scanner(System.in);String s = sc.nextLine()

  • 判断是否反复并录入:

    利用新key在HashMap里对应的Value是null,来判断是否反复

  • 格局
  • 其实不须要StringBuilder 然而遗记了 坚固一下

间接sout(i+"("+hm.get(i)+")");

  • HashMap()中的key是不保障程序的
    用TreeSet() 就是天然排序
    只须要改这里