【发布时间】:2021-07-10 08:01:25
【问题描述】:
我有两个 TreeSet A 和 B。我想以一种有效的方式将B 的最后n 个元素合并到A 中,即。使用排序集的合并。
有没有一种用 Java 实现的有效方法。
我看到的唯一方法是找到n-B的第一个最小元素:b_n,获取tailSet的视图,然后调用A.addAll(B.tailSet(b_n)),但这对我们来说还不够好,因为这将需要在B 中进行额外的n 迭代,并且调用tailSet() 也不是免费的。
最佳方案类似于A.addFromTail(B, n),使用与addAll 相同的合并技术,但在添加n 元素后停止。
【问题讨论】:
-
使用流来完成工作好吗?