es6set和map区别_list和map的区别面试

es6set和map区别_list和map的区别面试转自https://blog.csdn.net/terence1212/article/details/52487656set是一种关联式容器,其特性如下:set以RBTree作为底层容器所得元素的只有key没有value,value就是key不允许出现键值重复所有的元素都会被自动排序不能通过迭代器来改变set的值,因为set的值就是键map和set一样是关联式容器,它们的底层容器都是红黑树,区别…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

转自https://blog.csdn.net/terence1212/article/details/52487656

set是一种关联式容器,其特性如下:

  • set以RBTree作为底层容器
  • 所得元素的只有key没有value,value就是key
  • 不允许出现键值重复
  • 所有的元素都会被自动排序
  • 不能通过迭代器来改变set的值,因为set的值就是键

map和set一样是关联式容器,它们的底层容器都是红黑树,区别就在于map的值不作为键,键和值是分开的。它的特性如下:

  • map以RBTree作为底层容器
  • 所有元素都是键+值存在
  • 不允许键重复
  • 所有元素是通过键进行自动排序的
  • map的键是不能修改的,但是其键对应的值是可以修改的

关于自动排序,写一个c++ 程序验证一下

#include <iostream>
#include <set>
#include <map>
#include <string>

using namespace std;
int main()
{
    int numList[6]={1,4,2,5,6,0};


    //1.set add
    set<int> numSet;
    for(int i=0;i<6;i++)
    {
        //2.1insert into set
        numSet.insert(numList[i]);
    }
    //2.travese set
    for(set<int>::iterator it=numSet.begin() ;it!=numSet.end();it++)
    {
        cout<<*it<<" occurs "<<endl;
    }

    map<int,string> mapStudent;
    mapStudent[4] =  "student_one";
    mapStudent[1] =  "student_two";
    mapStudent[3] =  "student_three";
     map<int, string>::iterator   iter;
     for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++){
          cout<<iter->first<<" "<<iter->second<<endl;
     }

    return 0;
}

结果如下:

es6set和map区别_list和map的区别面试

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196241.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA设计模式之享元模式

    解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。比如说一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享一个对象,那么就大大节约了资源。  在Flyweight模式中,由于要产生各种各样

    2022年3月11日
    46
  • 视图索引总结

    视图索引总结一、视图的内部排序问在SQLServer里是不建议对视图进行排序的,下面是一位SQLServer专家的话:DontputORDERBYStatementsinViews.Delaysortinguntilyoureactuallyabouttousethedata.Ifyouendupsortingdiff

    2022年7月22日
    6
  • 什么是幂等性?(幂等处理是什么意思)

    HTTP幂等方法,是指无论调用多少次都不会有不同结果的HTTP方法。不管你调用一次,还是调用一百次,一千次,结果都是相同的。HTTPGET方法HTTPGET方法,用于获取资源,不管调用多少次接口,结果都不会改变,所以是幂等的。GET/tickets#获取ticket列表GET/tickets/12#查看某个具体的ticket只…

    2022年4月17日
    99
  • 素数算法的优化之路

    素数算法的优化之路素数算法的优化之路

    2022年6月20日
    27
  • Cpu流水线_cpu流水线预测

    Cpu流水线_cpu流水线预测原文网址:原文英文原文:AJourneyThroughtheCPUPipeline 编译:@deuso_ICT   作为程序员,CPU在我们的工作中扮演了核心角色,因此了解处理器内部的工作方式对程序员来说不无裨益。  CPU是如何工作的呢?一条指令执行需要多长时间?当我们讨论某个新款处理器拥有12级流水线还是18级流水线,甚至是更深的31级流水线时,这到些都意味着什么呢?…

    2022年4月19日
    54
  • linux通过进程名杀死进程_linux关闭进程命令

    linux通过进程名杀死进程_linux关闭进程命令笔记:根据一个进程的名字或启动此进程的命令(连续的一部分即可)杀死进程一、使用单条命令ps-ef|grep进程名/启动进程的命令|grep-vgrep|awk'{print$2}’|xargskill-9测试:终端输入:sleep200&sleep200&ps-ef|grepsleep|grep-v…

    2022年9月16日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号