android数据存放map_ES6 的新鲜玩意儿——集合set、map、WeekSet、WeekMap
es6新增了Set、Map、WeekSet、WeekMap 四种数据结构。C#中有HashSet和Dictionary,HashSet和Dictionary都是范式集合,但是es6不支持接口开发,所以也就不存在范式。Set 是存唯一值的集合,Map是存键值对的集合。WeakSet、WeakMap分别是它们的弱式表现的兄弟,只能存对象数据结构,拥有的方法少很多,使用时需要注意。
1、set:存放代表唯一值的集合。这个唯一是使用Object.is()来判断的。撸起:
let set = new Set([1,1,"1",2,3,{},["aa","bb","cc"],NaN,NaN]);
console.log(set);
let set = new Set([1,1,"1",2,3,{},["aa","bb","cc"],NaN,NaN]);
console.log(set);//方法列表
set.add("您好");//如果该值已经存在,不进行任何修改,没有该值才新增
set.delete("您好");//删除一项,如果有该项,返回true,如果没有返回false
set.clear();//清空集合set = new Set([1,1,"1",2,3,{},["aa","bb","cc"],NaN,NaN]);//循环迭代器
set.forEach(function (value,key) {console.log(key,":",value);
})
//生成器
let itr =set.entries();
console.log("itr.next():",itr.next())
console.log("itr.next():",itr.next());//将set 转换为数组
let arr = [...set];//展开运算符
console.log("arr:",arr);
2、WeakSet:存放代表唯一值的集合,是Set的弱化版本,只有add()、has()、delete()方法,不能迭代(foreach()、key()、values()等方法),不可以实例化的时候初始默认值,保存的值必须是对象数据结构。撸起:
let wset = new WeakSet();
let key = {name:"爱钱的大傻憨",age:18
};//wset.add("1");//报错
wset.add(key);
console.log("wset:",wset);console.log("wset.delete(key):",wset.delete(key));
console.log("wset:",wset);
3、Map:存放代表唯一值的集合,是Set的弱化版本,只有add()、has()、delete()方法,不能迭代(foreach()、key()、values()等方法),不可以实例化的时候初始默认值,保存的值必须是对象数据结构。撸起:
let map = new Map([["name","爱钱的大傻憨"],["age",18]]);
console.log("map:",map);
map.set("work",function(){alert('Hell')});//没有add方法,只有set方法
console.log("map:",map);
4、WeakMap:Map的弱表现数据结构,相对map来说,功能也是弱很多。
let wmap = new WeakMap();
wmap.set({name:"爱钱的大傻憨"},"您好");
console.log(wmap);
Set、Map是es的一种新数据结构,类似于数组,但是key是唯一的。WeakSet、WeakMap请少用,因为它的key值要求比较特殊,一定得考虑好了再使用。
android数据存放map_ES6 的新鲜玩意儿——集合set、map、WeekSet、WeekMap相关推荐
- android数据存放map_go语言学习笔记(18)-二维数组和map
二维数组 二维数组在声明/定义时有对应四种写法(类似一维数组) var 数组名 [大小][大小]类型 = [大小][大小]类型{{初值...},{初值...}} var 数组名 [大小][大小]类型 ...
- android数据存放map_android - Java后台把数据用json发到手机端,里面是map存放的,必须要说明数据的类型?...
问 题 List reList = new ArrayList(); for(int i=0;i Zqwl_yd_jdxx bjd = bjdList.get(i); HashMap temp = n ...
- android数据存放map_Android存储数据到本地文件
xml文件 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pare ...
- Android数据持久化技术
Android 数据持久化技术 数据持久化 文件存储 将数据存储到文件中 从文件中读取数据 SharedPreferences存储 使用SharedPreferences存储数据 从SharedPre ...
- 【Android数据存储】ContentProvider详细介绍(附实例源码)
1.ContentProvider是什么? ContentProvider--内容提供者.它是一个类,这个类主要是对Android系统中进行共享的数据进行包装,并提供了一组统一的访问接口供其他程序调用 ...
- Android数据存储几种方式用法总结
Android数据存储几种方式用法总结 1.概述 Android提供了5种方式来让用户保存持久化应用程序数据.根据自己的需求来做选择,比如数据是否是应用程序私有的,是否能被其他程序访问,需要多少数据存 ...
- Android数据存储之GreenDao 3.0 详解
前言: 今天一大早收到GreenDao 3.0 正式发布的消息,自从2014年接触GreenDao至今,项目中一直使用GreenDao框架处理数据库操作,本人使用数据库路线 Sqlite----> ...
- < Android数据存储> 任务二 应用程序数据文件夹里的文件读写
:zh]Android中提供了两个方法用来打开应用程序的数据文件夹IO流. 1.FileInputStream openFileInput(String name):参数name表示某个文件名,该方法 ...
- 5 Android数据存储 任务二 应用程序数据文件夹里的文件读写 ,
Android中提供了两个方法用来打开应用程序的数据文件夹IO流. 1.FileInputStream openFileInput(String name):参数name表示某个文件名,该方法用于打开 ...
最新文章
- 虚拟主机上传SQLServer数据库--不完全资料
- 无线通信AI大赛正式开放评测,50万大奖等你霸榜!
- 深度学习-Tensorflow2.2-批标准化简介-14
- 计算机无法用u盘重装系统,没有u盘电脑开不了机重装系统的方法步骤详细教程 - 系统家园...
- red linux安装mysql_RedHat下安装MySQL5.5
- (转)几种常用存储过程分页方法
- 使用jquery插件报错:TypeError:$.browser is undefined的解决方法
- LeetCode 1522. Diameter of N-Ary Tree(递归)
- Chrome DevTools:如何过滤网络请求
- jsp中动态include与静态include的区别
- 计算机专业英语第五章ppt,计算机专业英语课件5.ppt
- iOS的帮助网站(企业包发布)adhoc的测试
- keras实现多层LSTM
- 生产订单“生产线别”带入生产入库单
- ADOBE CS3 序列号
- 中国莽草酸行业市场深度调查报告(2022版)
- 风险准备(金)这样(估)算,来年工作不白干
- 重拾C语言——结构体和共用体
- 一个严谨的STM32串口DMA发送接收(1.5Mbps波特率)机制
- 技巧:Vimdiff 使用
热门文章
- Orchard Core Framework:ASP.NET Core 模块化,多租户框架
- Visual Studio 2017 新功能(上)
- 深入理解Async/Await
- 【干货】”首个“ .NET Core 验证码组件
- 【QGIS入门实战精品教程】3.1:QGIS如何连接SQL Server数据库?
- C++之‘nullptr’ was not declared in this scope
- Android之root手机之后用busybox找到我们需要删除的文件
- Android之自定义属性,format详解
- 《看聊天记录都学不会C语言?太菜了吧》(13)(9*9 乘法表)寻找电脑中的盲盒彩蛋
- (十一)python3 只需3小时带你轻松入门——面向对象