zoukankan      html  css  js  c++  java
  • Java集合(类)框架(三)

    1. Map集合

    相较于List和Set集合而言,Map集合所储存的数据为双列行,数据是以key和value为一个单位进行存储的,如在建立一个学生Map的时候,其中的数据应为 学号-姓名(key-value)等双列行类型 。

    其中key的值不可以重复,value的值可以重复(其中道理显而易见:一个班级中可能有重名的同学,但是不会有两个同学的学号是重复的),此外,不一定要将学号和姓名作为储存数据,其他

    的数据也可,其中具体哪个数据为key哪个数据为value由自己根据数据是否能重复来决定。

    1.1 hashMap和treeMap的区别

    hashMap为无序排列,在打印输出时也是乱序的,不会根据元素添加的先后顺序打印;

    treeMap为有序排列,无论输入顺序是什么,在打印输出时统一按照key的值进行顺序输出。

    1.2 Map集合的方法

    声明

    与Collection下的两个集合相似

    Map<String, String> map01 = new hashMap<>();
    Map<String, String> map02 = new treeMap<>();//多态

    其中数据类型由使用者决定,并不要求一定都是String类型

    添加元素时如果与之前的key值相同,那么新添加的元素会将原来的元素覆盖

    与Collection下的两个集合不同,Map添加元素的方法为put(key, val);

    key与val的数据类型在声明时确定

    remove();

    由于新元素会对旧元素进行覆盖,如果要修改key下对应的value值,直接添加一个相同key值不同value值的元素进行覆盖即可

    get(key);

    getClass();

    遍历

    除根据for循环遍历外还可直接print(hashMap);进行全部元素的打印输出

    1.3 备注

    在添加元素时虽然新元素会完成对旧元素的覆盖,但是新元素的返回值依旧是其覆盖元素的value值,如

    haspMap.put(1, "hello");
    String str = hashMap.put(1, "world");
    System.out.print(str); //print: hello
    System.out.print(hashMap.get(1)); //print: world

    根据以上代码进行区分

  • 相关阅读:
    centos 安装 TortoiseSVN svn 客户端
    linux 定时任务 日志记录
    centos6.5 安装PHP7.0支持nginx
    linux root 用户 定时任务添加
    composer 一些使用说明
    laravel cookie写入
    laravel composer 安装指定版本以及基本的配置
    mysql 删除重复记录语句
    linux php redis 扩展安装
    linux php 安装 memcache 扩展
  • 原文地址:https://www.cnblogs.com/YuanShiRenY/p/mapSetLearn.html
Copyright © 2011-2022 走看看