Author:笑看风云 Date:2010-03-07
测试数据:随机生成的300000个字符串的键值对。
测试结果:Array, Object的查找速度非常快,随机key查找的速度都少于1ms。
测试代码如下:
private var obj:Object = new Object();//或者是Array
private var objKey:Array = new Array();
public function MyFrame()
{
for(var i:int = 0; i < 300000; i++)
{
var key:String = createKey();//生成长度为30的随机字符串
obj[key] = key;
objKey[i] = key;
}
flash.utils.setInterval(traceResult, 2000);
}
//随机获取key
private function traceResult():void
{
var i:int = int(300000 * Math.random());
var key:String = objKey[i];
flash.system.System.gc();
trace(flash.utils.getTimer());
trace(obj[key]);
trace(flash.utils.getTimer());
}
分享到:
相关推荐
折半查找,也称为二分查找,是一种在有序数组中寻找特定元素的有效方法,它的效率显著高于线性查找。 首先,我们需要了解折半查找的基本原理。折半查找适用于已排序的数组或列表。其步骤如下: 1. **设定边界**:...
### C# 中 Array、ArrayList 和 List 的区别 在C#编程语言中,处理集合数据时,程序员经常需要根据实际需求选择合适的集合类型。本文将详细解释C#中Array、ArrayList和List之间的区别,并通过示例代码帮助理解这些...
在探讨JavaScript中的集合及其检索效率时,我们主要关注两种数据结构:数组(Array)和对象(Object)。这两种数据结构在JavaScript中被广泛使用,各有其优势和适用场景,尤其是在处理大量数据时,它们的检索效率...
`array.js` 文件可能包含了对数组操作的一些自定义函数或者扩展,例如可能实现了数组去重、查找指定元素的索引、排序等功能。这些功能可以通过阅读源码来了解其具体的实现方式和用途。 接着,Map是ES6中新增的一种...
这个`binarySearch`方法接受一个已排序的数组和目标值,返回目标值在数组中的索引,如果未找到则返回`NSNotFound`。 在提供的压缩包文件`lab1`中,很可能包含了实现这两个算法的源代码文件。这些源代码可以帮助初学...
array.indexOf(arrayObject, valueToFind[, fromIndex]); }); ``` - **参数**: - `arrayObject`:需要搜索的数组对象。 - `valueToFind`:要查找的值。 - `fromIndex`:可选参数,指定开始查找的位置,默认...
数组查找通常涉及到在已知索引值或特定条件下找到数组中的特定元素。C#提供了多种查找方法: 1. 线性查找(Linear Search):这是一种最基础的查找方法,遍历整个数组,逐个比较元素直到找到目标元素。虽然简单,但...
if ([array indexOfObject:@"Banana"] != NSNotFound) { NSLog(@"Found Banana in the array!"); } ``` 通过上述内容,我们可以看到Foundation框架在Objective-C开发中扮演着极其重要的角色,为开发者提供了丰富的...
- `-indexOfObject:`返回对象在数组中的索引,如果不在则返回NSNotFound。 3. **遍历NSArray** - 可以使用`for-in`循环遍历数组中的每个对象。 - `-enumerateObjectsUsingBlock:`使用block进行遍历,可以同时...
VB 可用指令、函数索引表 VB 可用指令、函数索引表是 VB 编程语言中提供的...在实际开发中,VB 可用指令、函数索引表是一个非常有用的参考资源,可以帮助开发者快速查找和使用所需的指令和函数,提高开发效率和质量。
这里查找数组 `array` 中数字 `2` 的第一个索引位置,并从索引0开始查找。 #### 七、Ext.Array.insert 方法 `Ext.Array.insert` 方法在指定位置插入一个或多个元素到数组中。 **示例代码:** ```javascript var ...
3. 删除元素:`remove()`方法用于删除指定索引处的元素,`remove(Object)`用于删除特定的对象。 4. 访问元素:通过索引访问,如`list.get(index)`。 5. 遍历ArrayList:可以使用增强for循环(foreach)或迭代器进行...
4. **查找(Find)**: 可以帮助找到数组中满足特定条件的第一个元素,或者返回一个满足条件的元素索引。 5. **过滤(Filter)**: 根据指定的测试函数,筛选出满足条件的元素,返回一个新的数组。 6. **堆(Heap)**:...
本文主要探讨了几个常用的集合类,包括Array、ArrayList、List、Hashtable、Dictionary, TValue>、Stack和Queue,以及它们的特点和应用场景。 1. **数组**(Array):数组是最基本的数据结构,它是一个固定大小的...
`Arrays.binarySearch()`方法允许我们在有序数组中查找指定元素,并返回该元素的索引。如果数组中不存在该元素,则会返回一个负数,这个负数的绝对值是插入该元素位置的前一个位置。 首先,让我们详细了解一下`...
5. 获取ArrayList中对象的索引,如果尝试通过`animalArrayList.IndexOf("鸡姐姐")`查找,会返回-1,因为默认的比较是基于对象的引用,而不是基于对象的属性。如果要根据对象的属性查找,你需要自定义比较器或者先...
`indexOf()`方法用于查找给定元素在数组中的第一个索引位置。如果未找到该元素,则返回-1。这是一个非常实用的方法,特别是在处理大量数据时。 **基本语法**: ```javascript array.indexOf(element[, fromIndex]) ...
第一个示例函数名为`in_array`,它通过遍历数组来查找特定值。这个函数只接受字符串类型的参数。如果有匹配的字符串,则函数返回`true`;如果没有找到匹配项,则函数返回`false`。 ```javascript function in_array...
它属于非排序的哈希表,查找速度较快。以下是一个Hashtable的示例: ```csharp Hashtable table = new Hashtable(); table["name"] = "Alice"; table[123] = "One Hundred Twenty-Three"; ``` 注意,键必须是唯一的...
Array没有indexOf方法,这样在一个数组中查找某个元素的索引时比较麻烦,为了调用方便,于是通过prototype原型扩展了Array.prototype.indexOf(),这样用起来就比较方便了。但是这个自定义的indexOf在对数组进行遍历...