在Java中是否有一个类似List的容器,它提供了在常量时间内用另一个列表替换子列表的能力,给定子列表的开头和结尾的迭代器?
例如,我可以执行以下操作:
List<T> l1, l2;
ListIterator<T> i1, i2;
// Initialize the above variables correctly...
l1.replace(i1, i2, l2);
如果我正在滚动自己的链表,这很容易,所以我认为这是一个使用集合的可行任务。
提前致谢!
答案 0 :(得分:1)
不,使用内置API无法在恒定时间内完成此操作。
如果我正在滚动自己的链表,这很容易,所以我认为这是一个使用集合的可行任务。
不完全。即使滚动自己的实现,也不能以一种
的方式在不间断的时间内完成l1
,而不会更改l2
l3
和l2
很容易想象,如果将这些内置到JDK API中,这些问题可能会导致意外行为,这对调试来说真的很不愉快。
答案 1 :(得分:0)