• Map接口


    Map接口


    概述

    ​ 用来存储键值对,如果键值相同,后边的value将前边的value覆盖

    主要实现类:

    HashMap:底层实现哈希表,查询快,添加快,无序

    ​   key:无序,唯一,即HashSet(HashSet的底层即HashMap,HashSet只使用了HashMap键部分,值部分为一个空对象)

    ​   value:无序,不唯一,Collection

    LinkedHashMap:底层结构哈希表+链表,查询快,添加快,有序(添加顺序)

    ​   key:有序(添加顺序),唯一,LinkedHashSet

    ​   value:无序,不唯一,Collection

    TreeMap:底层实现红黑树,速度介于哈希表和线性表之间,有序(自然顺序)

    ​   key:有序(自然顺序)唯一,类似TreeSet

    ​   value:无序,不唯一,Collection

    对Map的遍历:

    • Map中元素,可以将key序列、value序列单独抽取出来

    ​   抽取key:使用keySet()抽取key序列,将map中的所有keys生成一个Set。

    ​   抽取value:使用values()抽取value序列,将map中的所有values生成一个Collection。

    • 两种遍历方式:

      ​ 1)先得到由所有的key组成的set,遍历set的过程中,根据每个key得到所有的value。

      ​ 测试代码:

      //得到key的集合
      Set<String> keySet = map.keySet();   
      
      //增强for循环遍历set,根据key得到value
      for(String key : keySet) {
          System.out.println(map.get(key));
      }
      
      //迭代器遍历set,根据key得到value
      Iterator<String> it =  keySet.iterator();
      while(it.hasNext()) {
          System.out.println(map.get(it.next()));
      }
      

      ​ 2)先得到所有的由key-value组成的set,遍历set的过程中,输出每个元素(key-value)的内容。

      //得到key-value的集合,遍历set
      //通过Entry对key-value进行封装,Entry为Map的一个内部集合
      Set<Entry<String, String>> entrySet = map.entrySet();
      Iterator<Entry<String, String>> itt = entrySet.iterator();
      
      //迭代器
      while(itt.hasNext()) {
          Entry<String, String> entry = itt.next();
          System.out.println(entry.getKey() + "is" + entry.getValue());
      }
      
      //增强的for循环
      for(Entry<String, String> entry : entrySet) {
          System.out.println(entry.getKey() + "ai" + entry.getValue());
      }
      

    注意:

    ​   在Map中没有迭代器

  • 相关阅读:
    HihoCoder 1245:王胖浩与三角形 三角形边长与面积
    C++ 读写注册表
    Codestorm:Counting Triangles 查各种三角形的个数
    2015年10月之 叽里咕噜
    HDU 5523:Game
    Codestorm:Game with a Boomerang
    关于GPU-driver for linux的资料
    ACER NV47H75C 安装CUDA 驱动以及调整屏幕
    服务器GTX590安装CUDA
    观后感,读了几篇博文
  • 原文地址:https://www.cnblogs.com/zcxhaha/p/10076412.html
Copyright © 2020-2023  润新知