有谁知道在Java中是否可以在常量时间内合并两个列表(或任何集合)?
http://www.cppreference.com/wiki/stl/list/splice
使用C中的链接列表很容易做到这一点...
谢谢,
Car*_*icz 11
据我所知,JDK库中的类不支持这一点.
如果你构建自己的实现List- 你可以自由地做,它是完全合法的.您可以使用LinkedLists并识别要添加的集合也是a的特殊情况LinkedList.
在记录你的类时,你需要指出添加的对象成为新对象的一部分,换句话说,很多普遍性都会丢失.还有很多可能出现的错误:在加入之后更改原始列表中的任何一个(如果它们是可变的)将允许您创建一个带有间隙或两个尾部的列表.此外,大多数其他操作不会受益于您的黑客攻击类.换句话说,乍一看似乎是一个疯狂的想法.
请注意,"合并"列表通常具有不同的含义; 例如,当合并排序列表时,可以预期结果列表具有相同的排序.你加入两个链接列表时所说的最好被称为"拼接".或者只是"加入".
| 归档时间: |
|
| 查看次数: |
7378 次 |
| 最近记录: |