set跟map的区别_oracle set用法

set跟map的区别_oracle set用法1.Map是键值对,Set是值的集合,当然键和值可以是任何的值;2.Map可以通过get方法获取值,而set不能因为它只有值;3.都能通过迭代器进行for…of遍历;4.Set的值是唯一的可以做数组去重,Map由于没有格式限制,可以做数据存储5.map和set都是stl中的关联容器,map以键值对的形式存储,key=value组成pair,是一组映射关系。set只有值,可以认为只有一个数据,并且set中元素不可以重复且自动排序。SetSet对象允许你存储任何类型的值,无论.

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

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

1.Map是键值对,Set是值的集合,当然键和值可以是任何的值;

2.Map可以通过get方法获取值,而set不能因为它只有值;

3.都能通过迭代器进行for…of遍历;

4.Set的值是唯一的可以做数组去重,Map由于没有格式限制,可以做数据存储

5.map和set都是stl中的关联容器,map以键值对的形式存储,key=value组成pair,是一组映射关系。set只有值,可以认为只有一个数据,并且set中元素不可以重复且自动排序。

 

Set

Set对象允许你存储任何类型的值,无论是原始值或者是对象引用。它类似于数组,但是成员的值都是唯一的,没有重复的值。

Set 本身是一个构造函数,用来生成Set 数据结构。Set函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。

Set中的特殊值

Set 对象存储的值总是唯一的,所以需要判断两个值是否恒等。有几个特殊值需要特殊对待:

+0 与 -0 在存储判断唯一性的时候是恒等的,所以不重复

undefined 与 undefined 是恒等的,所以不重复

NaN 与 NaN 是不恒等的,但是在 Set 中认为NaN与NaN相等,所有只能存在一个,不重复。

Set实例对象的属性

size:返回Set实例的成员总数

Set实例对象的方法

add(value):添加某个值,返回 Set 结构本身(可以链式调用)。

delete(value):删除某个值,删除成功返回true,否则返回false。

has(value):返回一个布尔值,表示该值是否为Set的成员。

clear():清除所有成员,没有返回值。

数组去重(利用扩展运算符)

 

Map

Map对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。构造函数Map可以接受一个数组作为参数。

Map和Object的区别

一个Object 的键只能是字符串或者 Symbols,但一个Map 的键可以是任意值。

Map中的键值是有序的(FIFO 原则),而添加到对象中的键则不是。

Map的键值对个数可以从 size 属性获取,而 Object 的键值对个数只能手动计算。

Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。

Map对象的属性

size:返回Map对象中所包含的键值对个数

Map对象的方法

set(key, val): 向Map中添加新元素

get(key): 通过键值查找特定的数值并返回

has(key): 判断Map对象中是否有Key所对应的值,有返回true,否则返回false

delete(key): 通过键值从Map中移除对应的数据

clear(): 将这个Map中的所有元素删除

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

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

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


相关推荐

  • 徜徉在宋词里的女子

    徜徉在宋词里的女子

    2022年1月28日
  • 京东金融大数据竞赛猪脸识别(8)- 识别方法之四

    京东金融大数据竞赛猪脸识别(8)- 识别方法之四除了softmax层构建的深度网络,Matlab还有一个简单的构建数据分类的函数,那就是patternnet,其用法类似。可以直接对图像特征数据处理,也可以对图像集处理。代码如下:%exam1.m用训练图像特征构建深度网络并计算测试图像得分clear;load(‘JDPig_mlhmslbp_spyr.mat’);m=numel(classe_name);n=length(y)…

    2022年6月21日
  • c语言循环中按键跳出,C语言跳出循环

    c语言循环中按键跳出,C语言跳出循环C语言跳出循环C语言在程序员中备受青睐,成为最近25年使用最为广泛的编程语言。那么大家知道C语言跳出循环是怎么回事呢?下面一起来看看!使用while或for循环时,如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用break或continue关键字。break关键字在《C语言switch语句》一节中,我们讲到了break,用它来跳出switch语句。当break关键字用于w…

    2022年5月4日
  • mybatis的rowbounds_oracle使用rownum分页

    mybatis的rowbounds_oracle使用rownum分页物理分页和逻辑分页物理分页:直接从数据库中拿出我们需要的数据,例如在Mysql中使用limit。逻辑分页:从数据库中拿出所有符合要求的数据,然后再从这些数据中拿到我们需要的分页数据。优缺点物理分页每次都要访问数据库,逻辑分页只访问一次。物理分页占用内存少,逻辑分页相对较多。物理分页数据每次都是最新的,逻辑分页有可能滞后。在mybatis中,使用RowBounds进行分页,非常方便,不需要在sql语句中写limit,即可完成分页功能。但是由于它是在sql查询出所有结果的

    2022年9月2日
  • django 自定义过滤器_adguard自定义过滤器

    django 自定义过滤器_adguard自定义过滤器前言虽然DTL给我们内置了许多好用的过滤器。但是有些时候还是不能满足我们的需求。因此Django给我们提供了一个接口,可以让我们自定义过滤器,实现自己的需求。自定义过滤器首先在某个app中,创建

    2022年7月31日
  • 中标麒麟neokylin linux advanced server 7update6 GUI server安装配置pyqt5运行环境说明「建议收藏」

    中标麒麟neokylin linux advanced server 7update6 GUI server安装配置pyqt5运行环境说明「建议收藏」直接安装python3.9.5,编译时会报Couldnotbuildthesslmodule!,python调用相关代码的时候,会报ModuleNotFoundError:Nomodulenamed’_ssl’,pip安装相关模块的时候,会报ERROR:Couldnotfindaversionthatsatisfiestherequirementssl(fromversions:none)装好系统后,先sudoyumupdate更新系统;这时,g.

    2022年8月10日

发表回复

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

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