/** * Create a ListIterator for a list. * * @param parent the parent list * @param fromIndex the index to start at */ protected LinkedListIterator(AbstractLinkedList parent, int fromIndex) throws IndexOutOfBoundsException { super(); this.parent = parent; this.expectedModCount = parent.modCount; this.next = parent.getNode(fromIndex, true); this.nextIndex = fromIndex; }
/** * Create a ListIterator for a list. * * @param parent the parent list * @param fromIndex the index to start at */ protected LinkedListIterator(AbstractLinkedList parent, int fromIndex) throws IndexOutOfBoundsException { super(); this.parent = parent; this.expectedModCount = parent.modCount; this.next = parent.getNode(fromIndex, true); this.nextIndex = fromIndex; }
public void add(int index, Object value) { Node node = getNode(index, true); addNodeBefore(node, value); }
public Object get(int index) { Node node = getNode(index, false); return node.getValue(); }
public boolean addAll(int index, Collection coll) { Node node = getNode(index, true); for (Iterator itr = coll.iterator(); itr.hasNext();) { Object value = itr.next(); addNodeBefore(node, value); } return true; }
public boolean addAll(int index, Collection coll) { Node node = getNode(index, true); for (Iterator itr = coll.iterator(); itr.hasNext();) { Object value = itr.next(); addNodeBefore(node, value); } return true; }
public Object get(int index) { Node node = getNode(index, false); return node.getValue(); }
public void add(int index, Object value) { Node node = getNode(index, true); addNodeBefore(node, value); }
protected void checkNodes() { AbstractLinkedList list = (AbstractLinkedList) collection; for (int i = 0; i < list.size; i++) { assertEquals(list.getNode(i, false).next, list.getNode(i + 1, true)); if (i < list.size - 1) { assertEquals(list.getNode(i + 1, false).previous, list.getNode(i, false)); } } }
public Object remove(int index) { Node node = getNode(index, false); Object oldValue = node.getValue(); removeNode(node); return oldValue; }
public Object set(int index, Object value) { Node node = getNode(index, false); Object oldValue = node.getValue(); updateNode(node, value); return oldValue; }
public Object set(int index, Object value) { Node node = getNode(index, false); Object oldValue = node.getValue(); updateNode(node, value); return oldValue; }
public Object remove(int index) { Node node = getNode(index, false); Object oldValue = node.getValue(); removeNode(node); return oldValue; }
AbstractLinkedList list = (AbstractLinkedList) collection; assertEquals(list.getNode(0, true).previous, list.getNode(0, true).next); try { Object obj = list.getNode(0, false); fail("Expecting IndexOutOfBoundsException."); } catch (IndexOutOfBoundsException ex) { list.addFirst("value0"); checkNodes(); list.removeNode(list.getNode(1, false)); checkNodes(); try { Object obj = list.getNode(2, false); fail("Expecting IndexOutOfBoundsException."); } catch (IndexOutOfBoundsException ex) { Object obj = list.getNode(-1, false); fail("Expecting IndexOutOfBoundsException."); } catch (IndexOutOfBoundsException ex) { Object obj = list.getNode(3, true); fail("Expecting IndexOutOfBoundsException."); } catch (IndexOutOfBoundsException ex) {
public void testRemoveNode() { resetEmpty(); if (isAddSupported() == false || isRemoveSupported() == false) return; AbstractLinkedList list = (AbstractLinkedList) collection; list.addAll( Arrays.asList( new String[]{"value1", "value2"})); list.removeNode(list.getNode(0, false)); checkNodes(); assertEquals("value2", list.getFirst()); assertEquals("value2", list.getLast()); list.addFirst("value1"); list.addFirst("value0"); checkNodes(); list.removeNode(list.getNode(1, false)); assertEquals("value0", list.getFirst()); assertEquals("value2", list.getLast()); checkNodes(); list.removeNode(list.getNode(1, false)); assertEquals("value0", list.getFirst()); assertEquals("value0", list.getLast()); checkNodes(); }
list.addNodeAfter(list.getNode(0,false),"value2"); assertEquals("value1", list.getFirst()); assertEquals("value2", list.getLast()); list.removeFirst(); checkNodes(); list.addNodeAfter(list.getNode(0,false),"value3"); checkNodes(); assertEquals("value2", list.getFirst()); assertEquals("value3", list.getLast()); list.addNodeAfter(list.getNode(0, false),"value4"); checkNodes(); assertEquals("value2", list.getFirst()); assertEquals("value3", list.getLast()); assertEquals("value4", list.get(1)); list.addNodeAfter(list.getNode(2, false), "value5"); checkNodes(); assertEquals("value2", list.getFirst());
public boolean addAll(int index, Collection coll) { Node node = getNode(index, true); for (Iterator itr = coll.iterator(); itr.hasNext();) { Object value = itr.next(); addNodeBefore(node, value); } return true; }
public boolean addAll(int index, Collection coll) { Node node = getNode(index, true); for (Iterator itr = coll.iterator(); itr.hasNext();) { Object value = itr.next(); addNodeBefore(node, value); } return true; }
public Object set(int index, Object value) { Node node = getNode(index, false); Object oldValue = node.getValue(); updateNode(node, value); return oldValue; }
public Object set(int index, Object value) { Node node = getNode(index, false); Object oldValue = node.getValue(); updateNode(node, value); return oldValue; }