Vector 如何从一组向量中的第一个向量中获取第一项?

Vector 如何从一组向量中的第一个向量中获取第一项?,vector,clojure,Vector,Clojure,我有一个包含向量的集合,例如{[1 2 3]},我想得到集合中第一个成员的第一个元素。有没有比(first(first set))更惯用的方法呢?默认的clojure集合是无序的,因此对它们调用first实际上没有意义(除非您确定它是一个由1个元素组成的集合)。如果它是一个排序集,那么它是有意义的。您所做的是以惯用的方式获取任何集合中第一个集合的第一个元素。core的另一个选项是ffirst。我想说,这在社区中没有那么惯用,但仍然很好。实际上,有非排序集(默认)和排序集,您可以使用(排序集)创建

我有一个包含向量的集合,例如
{[1 2 3]}
,我想得到集合中第一个成员的第一个元素。有没有比
(first(first set))
更惯用的方法呢?

默认的clojure集合是无序的,因此对它们调用
first
实际上没有意义(除非您确定它是一个由1个元素组成的集合)。如果它是一个排序集,那么它是有意义的。您所做的是以惯用的方式获取任何集合中第一个集合的第一个元素。core的另一个选项是
ffirst
。我想说,这在社区中没有那么惯用,但仍然很好。

实际上,有非排序集(默认)和排序集,您可以使用
(排序集)
创建后者,还可以选择传递自定义比较器以用于确定元素顺序,请参见!我忘了有一个分类的集合,我只记得分类的地图。更新的答案谢谢。。注:如下文所述,在一个集合中没有保证订购。