【发布时间】:2014-11-21 18:27:59
【问题描述】:
哪些语言支持非标量关联数组键?
我想做一个像这样的数组:
[key1,key2,key3,key4]=>[对象]
如果多个键都必须是标量,我想我会很满意,但如果它们可以是任何数据类型,则可以加分。
【问题讨论】:
标签: arrays
哪些语言支持非标量关联数组键?
我想做一个像这样的数组:
[key1,key2,key3,key4]=>[对象]
如果多个键都必须是标量,我想我会很满意,但如果它们可以是任何数据类型,则可以加分。
【问题讨论】:
标签: arrays
您要查找的内容称为哈希表(或哈希图)。您可以在大多数语言中实现它们。一些语言已经支持哈希表,如 c++、java、lisp、python ...
以下是一些语言的参考:
https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html 在java中
另外,根据个人经验,我发现它们在 lisp 中非常容易工作。
【讨论】:
我不知道有任何直接支持它们的。 Perl 确实允许通过$var{$key1, $key2} 在其关联数组中使用多个标量键,但所做的只是自动将两个值连接成一个更大的值,并且等效于$var{"$key1$;$key2"}。 $; 是“\034”,因此如果您的键字符串包含该值,则会出现意外冲突。
通过将更复杂的数据类型序列化为单个字符串,可以在任何语言中应用相同的技巧。
【讨论】: