Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
哈希表没有';t在Lisp中保留插入顺序_Lisp - Fatal编程技术网

哈希表没有';t在Lisp中保留插入顺序

哈希表没有';t在Lisp中保留插入顺序,lisp,Lisp,我意识到,当我在lisp中创建一个哈希表时,它并没有保留插入顺序,但有点随机。你知道原因是什么吗?我需要它来保持顺序。哈希表数据结构不能保证其键的顺序。与其他语言和语言族一样,Lisps也是如此。(c.f.) 也许您可以重述您的问题来解释为什么您需要(接近)固定时间的哈希表插入和查找,但对键有顺序约束。可能还有另一种数据结构更适合您的用途。哈希表数据结构不能保证其键的顺序。与其他语言和语言族一样,Lisps也是如此。(c.f.) 也许您可以重述您的问题来解释为什么您需要(接近)固定时间的哈希表插

我意识到,当我在lisp中创建一个哈希表时,它并没有保留插入顺序,但有点随机。你知道原因是什么吗?我需要它来保持顺序。

哈希表数据结构不能保证其键的顺序。与其他语言和语言族一样,Lisps也是如此。(c.f.)


也许您可以重述您的问题来解释为什么您需要(接近)固定时间的哈希表插入和查找,但对键有顺序约束。可能还有另一种数据结构更适合您的用途。

哈希表数据结构不能保证其键的顺序。与其他语言和语言族一样,Lisps也是如此。(c.f.)


也许您可以重述您的问题来解释为什么您需要(接近)固定时间的哈希表插入和查找,但对键有顺序约束。可能还有另一种数据结构更适合您的用途。

我对lisp一无所知,但哈希表的要点是哈希函数确定元素在数组中的位置。它从不维持秩序。为什么你不能用一个列表?你能澄清一下你说的是哪一个“口齿不清”吗?通用口齿不清?计划?Clojure?在Java中,LinkedHashMap就是这样一种数据结构。您需要在一些库中找到Lisp等价物或定义自己的。默认情况下,Lisp通常不提供这一点,因为保持条目的顺序需要额外的努力来维护一个哈希表。我对Lisp一无所知,但哈希表的要点是哈希函数确定元素在数组中的位置。它从不维持秩序。为什么你不能用一个列表?你能澄清一下你说的是哪一个“口齿不清”吗?通用口齿不清?计划?Clojure?在Java中,LinkedHashMap就是这样一种数据结构。您需要在一些库中找到Lisp等价物或定义自己的。默认情况下,Lisp通常不提供这一功能,因为保持条目的顺序需要额外的工作来维护哈希表。