map的本质

Map<String, String> map = new HashMap<String, String>();
  map.put("1", "value1");
  map.put("2", "value2");
  map.put("3", "value3");

String[] array_num = ["1","2","3"];
String[] array_value= ["value1","value2","value3"];

map.get("1") == array_value[array_num.indexOf("1")];
map.get("2") == array_value[array_num.indexOf("2")];
map.get("3") == array_value[array_num.indexOf("3")];

  通过上面可以发现 单层map的本质其实是两个序列化的数组, 多层map同理

时间: 2024-10-09 06:31:41

map的本质的相关文章

Map 和 WeakMap 数据结构

Map 和 WeakMap 是ES6 新增的数据结构 一.Map 它们本质与对象一样,都是键值对的集合,但是他们与 Object 对象主要的不同是,键可以是各种类型的数值,而Object 对象的键 只能是字符串类型或者Symbol类型值,Map 和 WeakMap 是更为完善的Hash结构. 1.对象 和 Map //----------- 对象 -------------- var keyObj = {} var dataObj = {} dataObj[keyObj] = '大家好' 虽然表

GO语言总结(4)——映射(Map)

上一篇博客介绍了Go语言的数组和切片——GO语言总结(3)——数组和切片,本篇博客介绍Go语言的映射(Map) 映射是一种内置的数据结构,用来保存键值对的无序集合. (1)映射的创建 make ( map [KeyType] ValueType, initialCapacity ) make ( map [KeyType] ValueType ) map [KeyType ] ValueType {} map [KeyType ] ValueType { key1 : value1, key2:

go map用法

本文实例讲述了GO语言映射(Map)用法.分享给大家供大家参考.具体如下: 映射是一种内置的数据结构,用来保存键值对的无序集合. (1)映射的创建 make ( map [KeyType] ValueType, initialCapacity ) make ( map [KeyType] ValueType ) map [KeyType ] ValueType {} map [KeyType ] ValueType { key1 : value1, key2: value2, ... , key

Go——array、slice和map的区别

参考文章:https://go101.org/article/container.html 1. 文字表示 N:一般称作长度,表示元素的个数. T:表示元素的类型,可以是任意类型. K:在map中表示索引的类型,可以是任意可比较的类型. 2. 例子 3. 正篇 如[1]所示,宏观上来看,array.slice.map的区别在于: a. array的定义是有长度的 b. slice的定义没有长度 c. map的定义没有长度 三种数据类型中的每一个元素都有一个对应的key值,这些key值叫做索引(i

python 自己实现map

python 自己实现map 先来看看map的本来表现 l =[1, 2, 3, 4, 5, 6, 7, 8, 9] m = map(str,l) print(next(m)) print(next(m)) print(list(m)) 1 2 ['3', '4', '5', '6', '7', '8', '9'] map产生的是一个Iterator,是个惰性序列,next(m)会消耗它,可以使用list(m)将整个序列都计算出来 看看智能提示 怎么介绍的 class map(func, ite

ES6 (5):Set/Map

Set: 类似数组,但是成员值是唯一的. Set 函数可以接收一个数组(具有iterable接口的其他数据结构) // 例一 const set = new Set([1, 2, 3, 4, 4]); [...set] // [1, 2, 3, 4] // 例二 const items = new Set([1, 2, 3, 4, 5, 5, 5, 5]); items.size // 5 // 例三 const set = new Set(document.querySelectorAll('

JavaScript中的map()函数

概述Array.map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,同时不会改变原来的数组. 用法 Array.map(callback); 示例 //简单数组 const arr = [1, 3, 4, 5, 6, 7, 8, 10]; const cube = (num) => { return num * num; } const res = arr.map(cube);//[ 1, 9, 16, 25, 36, 49, 64, 100 ] // or const

十四、十五天笔记总结

1. LineNumberReader:  *public int getLineNumber():获取行号  *public void setLineNumber(int lineNumber):设置起始行号   String readLine():读取一行    案例:读取文件,每次读取一行打印并且加上行号    packagecom.edu_01;   import java.io.FileNotFoundException; import java.io.FileReader; impo

彻底了解RxJava(一)基础知识

彻底了解RxJava(一)基础知识 --欢迎转载,请注明出处 http://blog.csdn.net/asce1885 ,未经本人同意请勿用于商业用途,谢谢-- 原文链接:http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/ 本文Gitbooks链接:http://asce1885.gitbooks.io/android-rd-senior-advanced/content/che_di_le_jie_rxjava_ff08_yi_