如何获取 clojure 数组映射来维护 assoc 之后的插入顺序?

2023-11-23

我有一个array-map我就是assoc将一些值写入其中。达到一定大小后,返回值是PersistentHashMap而不是原来的PersistentArrayMap。我在一些网站上读到过有关此行为的信息。有没有办法强制插入顺序即使在assoc?

我确实有一个单独的函数,需要一个ash-map和一个键向量,并返回一个“新鲜”array-map按此顺序键,但这意味着对于每个关联,我必须首先提取键,将新键 cons/conj 到向量,然后创建一个新的数组映射。看起来很混乱,即使是用单独的函数编写的。

是否有更直接的语言支持的方法来保持插入顺序,即使在大型(> 10,但

如果相关的话,我将使用数组映射列表作为数据放入 incanter 数据集中,然后输出到 Excel。 save-xls 函数保持键/列的顺序。

Thanks


您可以使用有序地图:https://github.com/flatland/ordered

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 clojure 数组映射来维护 assoc 之后的插入顺序? 的相关文章

  • webjure 与 compojure?

    我听说过两个基于 Clojure 的 Web 应用程序框架 Webjure 和 Compojure 有人可以告诉我哪个更好吗 现在您可以添加Ring http groups google com group clojure browse t
  • Clojure MySQL 语法错误异常(“[...] 靠近 '???????????????' [...]”)

    除了建立连接之外 我在使用 clojure contrib sql 做任何事情时都遇到困难 我有一个 mysqld 在 localhost 3306 上运行 数据库名为clj db 用户 clj user localhost 和密码 clj
  • VacantEntry 未在名为 set 的范围内实现任何方法

    这段代码 use std collections hash map Entry Occupied Vacant use std collections HashMap fn main let mut vars HashMap
  • Clojure 缩减函数的目的

    clojure 的目的是什么reduced函数 在 Clojure 1 5 中添加 https clojure github io clojure clojure core api html clojure core reduced htt
  • Struts 2 - s:使用Map选择

    在 struts 2 中 我想使用从 Map 填充的 s select 我的地图有这样的值 键1 值1 键2 值2 键是我想要发布的内容 确实如此 但它显示了值 我不想显示这些值 但从我在其他方法 如 s text getTranslati
  • 竞争条件和 Clojure Atoms

    clojure atom 的文档指出 Changes to atoms are always free of race conditions 然而 竞争条件不仅是根据更改定义的 而且是在不同线程中并行逻辑操作的上下文中定义的 我想知道 保证
  • 如何解构向量以用作函数参数

    在 Python 中 您可以将列表或元组传递给函数并让函数解压参数 我怎样才能在 Clojure 中做到这一点 下面是一些 Python 代码示例 def f a b c d print a a print b b print c c pr
  • 将嵌套映射分解为键值对

    我想将 Clojure 中的嵌套映射分解为一系列键值对 例如 我们有这张地图 a b c d e f g h i j 分解后的地图应如下所示 a b c d e f g h i j d e f g h e f g h i j 输出的顺序并不
  • Clojure:对于 n 维

    Clojure 中的函数for可用于迭代嵌套序列 想象一个具有 x y 和 z 轴的 3D 空间 for x range 10 y range 5 z range 2 x y z 上面的代码将生成一个向量序列 表示长方体内所有可能的位置 当
  • Java:数组和向量

    我习惯于使用 PHP 但最近我一直在使用 Java 并且试图解决这个问题让我很头疼 我想用 Java 保存这个表示 Array col name 1 gt Array 1 gt col value 1 2 gt col value 2 n
  • 为什么 CouchDB 使用仅追加 B+ 树而不是 HAMT

    我正在阅读数据结构 尤其是不可变的数据结构 例如仅追加 B 树 http guide couchdb org draft btree html用于 CouchDB 和哈希数组映射 trie http en wikipedia org wik
  • 我应该如何使 Clojure STM 程序持久化?

    我正在编写一个使用 STM 的 clojure 程序 目前 我在启动时从数据库填充 STM 使用引用 然后在 dosync 事务成功时异步更新数据库 我不知道我是否以正确的方式这样做 或者是否有更好的标准技术来做到这一点 谁能向我解释一下他
  • 如何将目录添加到 Clojure 的类路径?

    我已使用 Maven 将库安装到 m2 repository 目录中 我想将该路径添加到默认的 Clojure 类路径中 我找不到如何执行此操作的文档 有什么提示吗 Cheers clj Clojure 1 4 0 user gt requ
  • 没有这样的命名空间:clojurescript 项目设置中的 clojure.spec.alpha

    我在尝试学习clojure spec 在沿着启动构建工具设置 clojure 项目时 我在需要 clojure spec alpha 时遇到以下错误 Compiling ClojureScript js app js No such nam
  • 要打乱的键值(整数、字符串)列表的最佳结构

    我需要在 Java 中实现一个结构 它是一个键值列表 类型为整数 字符串 并且我想对其进行洗牌 基本上 我想做类似的事情 public LinkedHashMap
  • 使用 clojure read/read-string 函数,我如何将 .clj 文件读入对象列表

    正如标题 如果我这样做 read string slurp somefile 这只会给我文件中的第一个对象 这意味着如果 somefile 如下所示 a obj b obj 然后我只得到 a obj 作为结果 我如何获得所有对象的列表 像这
  • 如何在Java中创建关联列表?

    我正在尝试让用户输入String在列表中搜索值 这工作正常 但我也想要String具有数值 这样我就可以得到清单价格中的某些商品 我试过 public List
  • Clojure:如何生成“trie”?

    鉴于以下 def inTree 1 2 1 2 3 1 2 4 5 9 1 2 4 10 15 1 2 4 20 25 你如何将它转换成这个特里树 def outTrie 1 2 3 4 5 9 10 15 20 25 这是一个清理后的解决
  • Clojure 宏:解析变量

    我似乎很了解 Clojure 中的宏 我可能缺少一些基本的东西 首先 请允许我描述一个我想要的例子 defmacro macrotest v d def a b c macroexpand 1 macrotest a gt d b c 换句
  • HashMap中相似的字符串会导致碰撞的机会增加吗?

    考虑以下 HashMap

随机推荐

  • Spark 中有哪些不同的联接类型?

    我查看了文档 它说支持以下连接类型 要执行的连接类型 默认内 必须是以下之一 内部 交叉 外部 完整 full outer 左 left outer 右 right outer 左半 左反 我看了看堆栈溢出答案关于 SQL 连接和最上面的几
  • 将字符串的 printf 填充 0

    有没有办法将 printf 中的空格字符替换为 0 填充字段宽度 使用的代码 printf 010s this 似乎不适用于字符串 确实 0flag 仅适用于数字转换 您必须手动执行此操作 int print padleftzeroes c
  • logback.xml 应该在 SBT/Scala 项目中的哪个项目目录中?

    我有一个 SBT Scala 项目 logback 似乎可以工作 但完全忽略了我的logback xml配置文件 我已放置在src main scala logback xml 它没有任何作用 它的正确位置是什么 任何人都可以发布一个 SB
  • 由于“错误 LNK2028:无法解析的令牌...”,我无法编译解决方案

    我有一个用 C 编写的 dll 和一个用 Visual C 编写的 exe 我将 dll 中的函数声明为 string declspec dllexport ConfigureHAT T STRING pathFile 在 exe 项目中
  • 重置 Chrome DevTools 控制台上下文的方法

    Chrome gt DevTools gt console 中是否有任何功能可以清除 重置 删除在测试时声明的变量和函数 就像调用clear 清除日志一样 举个例子 我有一个用 let 关键字声明的变量 let str Hello 我通过控
  • 在测试中实例化多个 Spring Boot 应用程序

    我有几个 Spring Boot 应用程序实例 它们同时对数据库进行一些工作 每个实例都在单独的 JVM 中运行 这是一种用 Java 编写测试以在一个 JVM 上进行测试的方法吗 就像下面这样 设置一些嵌入式数据库用于测试目的 甚至只是模
  • 为什么在 AngularJS 中使用 $onInit? [复制]

    这个问题在这里已经有答案了 在 AngularJS 中 onInit函数是否可以在没有该函数的情况下进行相同的初始化 例如这个 module component myComponent controller function const c
  • 理解和可视化递归

    我在这里提到了几个有关递归的问题 但我无法理解递归如何解决这个特定问题 Python中获取字符串中所有字符组合的递归程序 st def combi prefix s if len s 0 return else st append pref
  • 是否可以在 Twitter Bootstrap 中的模态中使用“行”和“跨度”?

    我正在尝试使用 Twitter Bootstrap 中的模式来实现联系表单 理想情况下 我希望前两个字段集彼此相邻对齐 第三个字段集 包含文本区域和提交按钮 占据模式的整个宽度 我尝试使用行和跨度来使它们很好地发挥作用 但不确定如何进行此操
  • 是否应该在第二个 lambda 中重用 LINQ lambda 表达式参数?

    下列的这个问题我想知道lambda参数表达式实例的重用应该被认为是好还是坏 我有时会得到一个完整的 LINQ 表达式树 其中相同的 lambda 参数实例在第二个非嵌套 lambda 中正确使用 class Person public in
  • PHP 中 mb_detect_order() 的奇怪行为

    我想检测一些文本的编码 使用 PHP 为此 我使用 mb detect encoding 函数 问题是 如果我使用 mb detect order 函数更改可能编码的顺序 该函数会返回不同的结果 考虑下面的例子 html lt lt lt
  • Chrome 扩展:下载/导出“即时”创建的内容

    我需要让用户下载从扩展中包含的某些数据动态创建的文件 但我不想在服务器端执行此操作 作为一个现实世界的例子 有一个变量包含文本 hello world 我希望用户能够下载 创建 TXT包含此类文本的文件 是否可以 2010年10月30日编辑
  • 无法安装node-sass

    我正在尝试安装node sass 但它不让我安装 我尝试过更新npm 我把这个放进去 sudo npm install g 节点 sass 我得到了这个 从错误之前的一行开始 gyp verb build dir attempting to
  • 无法使用 Sheets API 访问公共工作表

    一年多以来 我一直在网页上使用 Google Sheets APIv4 来显示公开共享的 Google 电子表格中的数据 尽管我们这边没有任何改变 但 Sheets API 现在返回 403 权限被拒绝错误 我尝试访问的工作表是我拥有的工作
  • Lucene:如何获取文档的分数

    我想输出文档的分数 我为此编写的代码是 IndexReader reader IndexReader open FSDirectory open indexDir IndexSearcher searcher new IndexSearch
  • Github远程推送包大小超出

    我是 Git 新手 有一个相当大的项目 我想将其推送到 Github 上的远程存储库 存储库 B 原始项目也在 Github 上 但来自不同的存储库 存储库 A 我必须先对 Repo A 中的文件进行一些更改 然后才能在 Repo B 上设
  • 如何连接到 AVD

    我正在尝试编写自己的 Android http 服务器 没问题 但我的 AVD 有问题 我不想每次想要测试更改时都将应用程序下载到手机上 我想通过 AVD 连接到我的应用程序 为了获取IP地址 我使用这个函数 private String
  • 继承字典的序列化类不是序列化属性

    我有一个继承自 Dictionary 的类 并且有几个属性 当我序列化时 它仅序列化字典而不序列化属性 如果我有一个包含属性的有效负载 它会反序列化为它们 如何让它序列化我的对象 包括属性 public class Maintenance
  • 使用时钟滴答作为随机数种子

    我使用当前时钟滴答作为随机数生成的种子 随机数用于伪 GUID 并且在我的数据库中进行检查将确保它在返回之前不存在 平均而言 在进程的生命周期内 该方法将被连续调用大约 10k 次 我担心的是 可能会连续生成相同的号码 从而导致对我的数据库
  • 如何获取 clojure 数组映射来维护 assoc 之后的插入顺序?

    我有一个array map我就是assoc将一些值写入其中 达到一定大小后 返回值是PersistentHashMap而不是原来的PersistentArrayMap 我在一些网站上读到过有关此行为的信息 有没有办法强制插入顺序即使在ass