小编Emi*_*ile的帖子

Java中具有多个头的链表

我有一个列表,其中我想保留几个头指针.我试图在同一个列表上创建多个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)

java linked-list

5
推荐指数
1
解决办法
2198
查看次数

标签 统计

java ×1

linked-list ×1