zoukankan      html  css  js  c++  java
  • 结合框架(二)

    一,Map 双列集合

      概述:现实生活中会看到一种集合,用户名--密码,这种关系一一对应,叫做映射。Java中提供

           了专门的集合类用来存放这种关系----Java.util.Map

      特点:

        1,双列,一个元素包含两个值 key value

        2key,value 数据类型可相同也可不同

        3key 唯一不重复,value可重复

        4key value 一一对应

        5,无序的

    二,HashMap

      Map的实现子类。底层也是通过哈希码表存储。方式是数组加链表形式。

      ★Map中没有获取迭代器的方法

        main方法中只能调用static 静态方法。

    三,常用方法

      put(keyvalue);         添加键值对

      remove(key);       根据key移除对应对

      get(key);         根据key获取对应value

      containsKey(key);     判断是否包含指定键

      keySet(Map);       获取Map集合中所有key

      entrySet();         获取Map集合中的 Map.Entry<keyvalue>映射关系的Entry对象

    四,遍历使用方法:

      1,通过k 获取 v

        1》使用Map集合中 keySet()方法;把Map-->key取出-->存储到一个Set集合中

        2》遍历Set集合-->获取Map集合中的键key

        3》通过Map集合-->getkey)方法获取相应值value

      2,用过Entry映射关系获取v

             1》使用Map集合中entrySet()方法;把Map-->Entry映射对象取出-->存到Set集合中

        2》遍历Set集合-->获取每一个Entry对象

        3》使用Entry对象中的方法-->getKey();  getValue();-->获取对应键值对

      如:

      package cn.kgc.demo01.map;

      import java.util.*;

      public class Demo02EntrySet {

            public static void main(String[] args) {

                getKV();

            }

            public static void getKV(){

                //1,创建集合

                HashMap<String, Integer> mm = new HashMap<>();

                mm.put("杨幂",28);

                mm.put("刘诗诗",26);

                mm.put("景甜",28);

                mm.put("林志玲",35);

                System.out.println(mm);

                // 2,使用 entrySey() 获取映射对象

                Set<Map.Entry<String, Integer>> set = mm.entrySet();

                // 3 ,遍历获取entry 对象

                Iterator<Map.Entry<String, Integer>> it = set.iterator();

                while (it.hasNext()){

                       Map.Entry<String, Integer> entry = it.next();

                    // 根据entry对象调用get方法获取key和value

                    String key = entry.getKey();

                     Integer value = entry.getValue();

                     System.out.println(key+"="+value);

                }

                // 4,增强for

                System.out.println("************************************");

                for (Map.Entry entry:set){

                      String key = (String) entry.getKey();

                      Integer value =(Integer) entry.getValue();

                      System.out.println(key+":"+value);

                }

                System.out.println("************************************");

                for (Map.Entry<String,Integer> entry:mm.entrySet()){

                      System.out.println(entry.getKey()+"="+entry.getValue());

                }

           }

      }

  • 相关阅读:
    C++解析-外传篇(3):动态内存申请的结果
    C++解析-外传篇(2):函数的异常规格说明
    C++解析-外传篇(1):异常处理深度解析
    C++解析(31):自定义内存管理(完)
    Fisherfaces 算法的具体实现源码
    Philipp Wagner
    人脸识别中截取面部的实现方法
    OpenCV Haar AdaBoost源码改进据说是比EMCV快6倍
    win10系统下载地址
    人脸识别中的检测(在Opencv中加入了QT)
  • 原文地址:https://www.cnblogs.com/kide1412/p/10889903.html
Copyright © 2011-2022 走看看