稀疏数组var a1 = [, , , ];var a2 = new Array(3);var a3 = [1, 2, 3];console.log(0 in a1);//falseconsole.log(0 in a2);//falseconsole.log(0 in a3);//truedele...
分类:
编程语言 时间:
2015-06-30 18:06:08
阅读次数:
147
最近听同事说使用SparseArray代替HashMap可以提高性能,于是边对这两个类的数据结构进行简单的分析。
Hashmap的数据结构
Hashmap是一个数组和链表的结合体(在数据结构称“链表散列“),如下图示:
图片来源:Java的HashMap和HashTable
SparseArray的数据结构
SparseArray指的是稀疏数组(Sparse...
分类:
编程语言 时间:
2015-05-25 20:27:28
阅读次数:
188
一、创建数组var a = [,,]; //数组有2个元素var a = new Array(10); //指定长度二、稀疏数组从0开始的不连续索引的数组。可以使用Array()构造函数或简单指定数组的索引大于数组长度来创建。var a1 = [,,,]; //数组是[undefined, unde...
分类:
编程语言 时间:
2015-03-21 15:32:31
阅读次数:
115
今天看到一个SparseArray的类,查下相关资料进行总结。
SparseArray指的是稀疏数组(Sparse array),所谓稀疏数组就是数组中大部分的内容值都未被使用(或都为零),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了节省内存空间,并且不影响数组中原有的内容值,我们可以采用一种压缩的方式来表示稀疏数组的内容。
从构造方法我们可以看出,它和一般的List...
分类:
其他好文 时间:
2015-03-02 11:17:19
阅读次数:
105
学习underscore.js数组相关API的时候,遇到了sparse array这个东西,以前没有接触过。这里学习下什么是稀疏数组和密集数组。JavaScript中的数组并不像我们在C或java等语言中遇到的常规数组,在js中数组并不是起始地址+长度构成的一片连续的地址空间。...
分类:
编程语言 时间:
2014-10-17 21:57:33
阅读次数:
257
稀疏数组的长度返回的不对,不知道算不算是个 bug?(在 Lua5.2.2 中测试的) 如果一个表容量一半的元素,用 ‘#‘ 取长度取的不对。但是对于小于容量一半的情况,表现的是对的。 根据 Lua 的代码实现,‘#’号取表...
分类:
其他好文 时间:
2014-08-21 15:22:14
阅读次数:
234