评论者:hiredman
可能最好的改动就是将sort函数返回值更改为向量。在序列管道中sort的使用将继续工作,但后续使用conj将会有问题(我记不得实例了,但确实存在)。排序似乎暗示了一个已完全实现的集合,而向量是这里可以返回的最“强大”的实现。
鉴于核心库的保守态度和conj排序问题,我们可能可以考虑增加一个类似于现有的mapv的sortv。
另一种选择可能是移除对seq的调用,从而使得sort返回排序后的数组。这实际上非常有用,因为你可以使用Arrays.binarySearch。在排序之后调用conj将抛出异常,而不是把元素放到错误的位置。