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

    根据以上代码进行区分

  • 相关阅读:
    编码的道与禅
    使用 C# 编写简易 ASP.NET Web 服务器
    程序员的职业素养
    NServiceBus官方文档翻译(二)NServiceBus 入门
    NServiceBus官方文档翻译(一)NServiceBus 概况
    七周七语言之使用prolog解决爱因斯坦斑马难题
    七周七语言之用Io编写领域特定语言
    七周七语言之用ruby做点什么
    利用binarySearch实现抽奖计算逻辑
    Java设计模式三
  • 原文地址:https://www.cnblogs.com/YuanShiRenY/p/mapSetLearn.html
Copyright © 2011-2022 走看看