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

    根据以上代码进行区分

  • 相关阅读:
    MSB4064 错误
    javascript 通过模块模式实现代码访问控制
    vs 2012 更新update4 后出现问题
    html 转 PDF wkhtmltopdf image 不能显示的问题
    Html方式导出word 页头和页脚设置
    使用JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength属性
    经验1-打印web
    DataGridView 多线程更新 数据 解决卡顿问题
    Copy List with Random Pointer [LeetCode]
    Validate Binary Search Tree [LeetCode]
  • 原文地址:https://www.cnblogs.com/YuanShiRenY/p/mapSetLearn.html
Copyright © 2011-2022 走看看