`
hereson
  • 浏览: 1450263 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Dictionary类

阅读更多
AS3中的Dictionary类(flash.utils.Dictionary)是一个新的AS类。Dictionary类和Object唯一的区别在于:Dictionary对象可以使用非字符串作为键值对的键。例如:


var obj:Object = new Object();
obj["name"] = 1; // 键是字符串"name"
obj[1] = 2; // 键是1 (被转换成字符串"1")
obj[new Object()] = 3; // 键是new Object(),被转传成字符串"[object Object]"

for (var prop:String in obj) {
     trace(prop); // 输出:[object Object], 1, name
     trace(obj[prop]); // 输出:3, 2, 1
}
也就是说,无论用什么类型的变量作为键,都将被转换成字符串。同时,如果你使用了不同的对象作为键,都会北转换成字符串"[object Object]"作为键,因此而指向了同一个数据。例如:

Actionscript Code:   
var a:Object = new Object();   
var b:Object = new Object();   

var obj:Object = new Object();   
obj[a] = 1; // obj["[object Object]"] = 1;   
obj[b] = 2; // obj["[object Object]"] = 2;   

for (var prop:String in obj) {   
     trace(prop); // traces: [object Object]   
     trace(obj[prop]); // traces: 2   
}
Dictionary类将没有这个限制,你可以将键设置成任何一种数据类型。例如:


import flash.utils.Dictionary;

var a:Object = new Object();
var b:Object = new Object();

var dict:Dictionary = new Dictionary();
dict[a] = 1; // dict[a] = 1;
dict[b] = 2; // dict[b] = 2;

for (var prop:* in dict) {
     trace(prop); // traces: [object Object], [object Object]
     trace(dict[prop]); // traces: 1, 2
}
虽然在trace的时候,输出的还是[object Object],但是这个结果是对象的toString的结果。在Dictionary对象中,代表的是不同的对象引用。

注意,这里的prop的类型是*。这是很重要的,因为dict对象中的键可能是任何数据类型的
分享到:
评论

相关推荐

    自定义Dictionary类如何在类内实现线程同步

    自定义Dictionary类如何在类内实现线程同步自定义Dictionary类如何在类内实现线程同步自定义Dictionary类如何在类内实现线程同步自定义Dictionary类如何在类内实现线程同步自定义Dictionary类如何在类内实现线程同步...

    C#实现自定义Dictionary类实例

    本文实例讲述了C#实现自定义Dictionary类。分享给大家供大家参考。具体如下: 1.关于MyDictionary类 本文中实现的MyDictionary类具有如下功能 1)可以增加、修改、删除键值对 2)可以通过索引器,找到一个键对应的值...

    JS字典Dictionary类定义与用法示例

    ### JS字典Dictionary类定义与用法知识点 #### 1. JavaScript字典概念 在JavaScript中,字典是一种以键值对形式存储数据的数据结构。与数组(只能通过数字索引访问元素)不同,字典允许通过任何类型的键来存储和...

    hashtable和dictionary的探讨

    在编程领域,哈希表(Hashtable)和字典(Dictionary)是两种常用的数据结构,它们在存储和检索键值对时提供了高效的性能。本文将深入探讨这两种数据结构的原理、性能差异以及实际应用中的考虑因素。 哈希表,通常...

    C#中Dictionary类使用实例

    在C#中,使用Dictionary类来管理由键值对组成的集合,这类集合称为字典。 字典最大的特点就是能够根据键来快速查找集合中的值。 下面是一个使用字典的小实例,希望通过这个小实例,能让大家对字典操作有一个初步的...

    Dictionary, SortedDictionary, SortedList 横向评测

    Dictionary, SortedDictionary, SortedList 是 .NET Framework 中三个支持泛型和关键字查找的类,它们都属于 System.Collections.Generic 命名空间。这些类在名字和功能上非常相似,以至于实际运用的时候我们会经常...

    Android代码-Dictionary

    Dictionary 单词助手,可提供单词中英文的翻译,以及长句子的翻译。另外,可对感兴趣的单词加入本地生词本,以及新建复习计划。做完这个感觉RxJavax真的不是一般的强,Retrofit和greenDAO都提供了对其的支持,让你...

    Dictionary-源码.rar

    本文将围绕“Dictionary-源码.rar”这个压缩包中的内容,深入探讨Dictionary类的源码实现,旨在帮助开发者更好地理解和运用这一核心组件。 Dictionary类在.NET框架中属于System.Collections.Generic命名空间,它是...

    C#_集合类_Array,Arraylist,List,Hashtable,Dictionary,Stack,Queue_学习资料

    4. **Dictionary, TValue>**:Dictionary类是一个键值对的集合,使用哈希表实现,提供了快速的查找性能。在需要根据特定键访问数据的情况下,Dictionary是一个理想的选择,比如在存储购物车信息时,可以使用...

    详解c# dictionary去重.docx

    C#中的Dictionary类是.NET框架提供的一个高效的数据结构,它基于哈希表实现,用于存储键值对。每个键必须是唯一的,因为它是通过哈希函数确定存储位置的,这使得Dictionary具有快速查找、添加和删除元素的能力。在这...

    Unity3d可编辑字典Dictionary脚本

    - Unity的inspector不会在inspector中公开Dictionary类, Tvalue> - Unity不序列化字典信息,因此按下播放或重新加载场景时,收集的所有字典数据都会丢失。 解决方案: - 为MonoBehaviour创建自定义编辑器,利用字典 ...

    多映射集合类

    然而,有时我们需要处理一个键可以对应多个值的情况,这时标准的Dictionary类就显得力不从心了。在这种背景下,"多映射集合类"应运而生,它扩展了C#的Dictionary类,允许我们为一个键存储多个值。 多映射集合类的...

    VBA的字典类,苹果MAC系统可用

    Dictionary类在VBA编程中非常有用,因为它的核心特性是键值对存储,能够提供快速查找、添加、删除元素的功能,而不必担心顺序问题,这对于处理复杂的数据结构非常方便。 首先,要在MAC系统中使用这个字典类,你需要...

    java常用集合类总结

    Hashtable是Dictionary类的替代品,提供了按键取值的功能。 Iterator接口是Java集合类中的一种特殊接口,用于访问集合中的元素。Iterator接口有两个常用的实现类:Iterator和ListIterator。Iterator接口用于访问...

    服务器多线程多客户端程序

    在这个场景中,我们探讨的是一个基于C#语言实现的服务器程序,它能够处理来自多个客户端的并发请求,同时利用了C#中的`Dictionary`类进行数据管理。下面我们将详细讨论这些知识点。 1. **多线程**: - **线程基础*...

    Java英汉小词典Java英汉小词典.doc

    Dictionary 类是该程序的核心类,包含三个成员变量 ID、English 和 Chinese,用于设置字典中对应单词的 ID 号、英文解释和中文翻译等。该类实现了对每个成员变量值的获取和设置的方法,以便对该类对象的封装。 ...

    C#自定义可序列化的Dictionary类型

    C#自定义可序列化的Dictionary类型 在C#中,Dictionary类型是非常常用的数据结构,但是.NET 2.0中的泛型Dictionary却不支持XML序列化。这是一种非常不便的限制,因为在实际应用中,我们经常需要将数据序列化到XML...

Global site tag (gtag.js) - Google Analytics