评论者:hiredman
在这里,最好的办法可能就是把sort改为返回向量。在整个序列管道中使用的sort仍将继续工作,但随后使用conj(我无法立即回忆起具体的例子,但确信存在)将导致中断。排序似乎意味着一个完整的集合,而向量是这里可以返回的“最完整”的集合。
鉴于核心的保守性质以及上面提到的conj排序问题,下一种可能的做法是添加类似于现有mapv的sortv。
另一种选择可能是移除对seq的调用,这样sort就返回排序后的数组。这实际上是很有用的,因为你可以使用Arrays.binarySearch。在排序之后对conj的调用将引发异常,而不是conj到“错误”的位置。