将java.util.HashSet转换为Clojure集的最佳方法

时间:2017-03-16 13:24:23

标签: clojure casting datomic

为了兼容性,Datomic查询返回java.util.HashSet。我想在查询结果集上使用clojure.set函数,例如设置差异。目前,我正在使用(set datomic_result)将结果集转换为Clojure集。有替代方案吗?

1 个答案:

答案 0 :(得分:1)

我建议您不要依赖返回值为java.util.Set的事实,这是一个实现细节(根据Datomic documentation,返回类型为{{1} }})。

通过将set操作直接应用于返回的集合而不是强制转换为Set,可以获得更好的性能。例如:

java.util.Collection

使用into可以同时利用TransientsTransducers,这可以在大型输入上显着提升性能。