我有一个列表,其中我想保留几个头指针.我试图在同一个列表上创建多个ListIterators,但这禁止我在列表中添加新元素...(请参阅并发修改例外).
我可以创建自己的类,但我宁愿使用内置的实现;)
更具体地说,这是两个基本操作的低效实现,以及不起作用的操作:
class MyList <E> {
private int[] _heads;
private List<E> _l;
public MyList ( int nbHeads ) {
_heads = new int[nbHeads];
_l = new LinkedList<E>();
}
public void add ( E e ) {
_l.add(e);
}
public E next ( int head ) {
return _l.get(_heads[head++]); // ugly
}
}
class MyList <E> {
private Vector<ListIterator<E>> _iters;
private List<E> _l;
public MyList ( int nbHeads ) {
_iters = new Vector<ListIterator<E>>(nbHeads);
_l = new LinkedList<E>(); …Run Code Online (Sandbox Code Playgroud)