是否存在包含两个值而不是一个值的字典类型的对象?

时间:2016-09-19 23:33:35

标签: actionscript-3 dictionary

我经常使用Dictionary类型来存储键和值对,但我一直在使用XML命名空间,并且需要存储相同名称但可能具有不同命名空间的属性。

是否有一种包含两个值而不是一个值的词典?会叫什么?

如果这样的事情不存在,那会是一个很酷的选择吗?

以前解决的问题:

    new webpack.HotModuleReplacementPlugin(),
    new webpack.NoErrorsPlugin(),
    // create global variables accessible on server and client
    new webpack.DefinePlugin({

新问题是具有命名空间的属性:

var defaultNamespace:String = "http://www.domain.com";
var attributes:Array = ["property1", "property2"];
var dictionary:Dictionary = new Dictionary();
dictionary["property1"] = defaultNamespace;
dictionary["property2"] = defaultNamespace;

我宁愿不创建包含两个值的对象。

3 个答案:

答案 0 :(得分:2)

.NET框架具有Hashtable和Dictionary,两者每个键只有1个值。此页面有一个数据结构表供参考:https://msdn.microsoft.com/en-us/library/7y3x785f(v=vs.110).aspx

你可以:

  • 构建您自己的数据结构类。您甚至可以修改.NET实现,因为MS提供了源代码。

  • 将数组或其他列表结构存储为值。

  • 将自定义类型存储为值(您自己的结构或类)

答案 1 :(得分:1)

只需使用该语言的简单容器对象。

在Python中,我使用了元组。在Clojure中,向量是典型的元组替换,因此我使用它们。

真的,如果有一个实现有2个值,它可能只是将它们包装在幕后。当每个键需要3个值时会发生什么?

您可能想要考虑将2个值包装在POD类中。具有2个命名字段的单个值将更容易理解。

答案 2 :(得分:1)

在Java中,您可以使用一对成员对象定义自己的类。 JavaFX已经定义了这样一个类Pair

相关问题