@Override public void addTail(E e) { if (size == 0) { addHead(e); } else { Node<E> node = Node.with(e); node.prev = tail; tail.next = node; tail = node; size++; } }
@Override public void addHead(final T t, final int priority) { checkHighest(priority); levels[priority].addHead(t); exclusiveIncrementSize(1); }
@Override public void addTail(E e) { if (size == 0) { addHead(e); } else { Node<E> node = Node.with(e); node.prev = tail; tail.next = node; tail = node; size++; } }
@Override public void addTail(E e) { if (size == 0) { addHead(e); } else { Node<E> node = Node.with(e); node.prev = tail; tail.next = node; tail = node; size++; } }
@Override public void addTail(E e) { if (size == 0) { addHead(e); } else { Node<E> node = Node.with(e); node.prev = tail; tail.next = node; tail = node; size++; } }
@Override public void addTail(E e) { if (size == 0) { addHead(e); } else { Node<E> node = Node.with(e); node.prev = tail; tail.next = node; tail = node; size++; } }
@Override public void addTail(E e) { if (size == 0) { addHead(e); } else { Node<E> node = Node.with(e); node.prev = tail; tail.next = node; tail = node; size++; } }
@Override public void addTail(E e) { if (size == 0) { addHead(e); } else { Node<E> node = Node.with(e); node.prev = tail; tail.next = node; tail = node; size++; } }
@Override public void addHead(final T t, final int priority) { checkHighest(priority); levels[priority].addHead(t); exclusiveIncrementSize(1); }
@Override public void addHead(final T t, final int priority) { checkHighest(priority); levels[priority].addHead(t); exclusiveIncrementSize(1); }
@Override public void addHead(final T t, final int priority) { checkHighest(priority); levels[priority].addHead(t); exclusiveIncrementSize(1); }
@Override public void addHead(final T t, final int priority) { checkHighest(priority); levels[priority].addHead(t); exclusiveIncrementSize(1); }
@Override public void addHead(final T t, final int priority) { checkHighest(priority); levels[priority].addHead(t); exclusiveIncrementSize(1); }
@Override public void addHead(final T t, final int priority) { checkHighest(priority); levels[priority].addHead(t); exclusiveIncrementSize(1); }
@Test public void testAddHeadAndTail() { int num = 10; for (int i = 0; i < num; i++) { list.addHead(i); } for (int i = num; i < num * 2; i++) { list.addTail(i); } for (int i = num * 2; i < num * 3; i++) { list.addHead(i); } for (int i = num * 3; i < num * 4; i++) { list.addTail(i); } for (int i = num * 3 - 1; i >= num * 2; i--) { assertEquals(i, list.poll().intValue()); } for (int i = num - 1; i >= 0; i--) { assertEquals(i, list.poll().intValue()); } for (int i = num; i < num * 2; i++) { assertEquals(i, list.poll().intValue()); } for (int i = num * 3; i < num * 4; i++) { assertEquals(i, list.poll().intValue()); } }
@Test public void testRemoveHeadAndTail2() { LinkedListIterator<Integer> iter = list.iterator(); int num = 10; for (int i = 0; i < num; i++) { list.addHead(i); assertEquals(1, list.size()); assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); iter.remove(); } }
@Test public void testAddHead() { int num = 10; assertEquals(0, list.size()); for (int i = 0; i < num; i++) { list.addHead(i); assertEquals(i + 1, list.size()); } for (int i = num - 1; i >= 0; i--) { assertEquals(i, list.poll().intValue()); assertEquals(i, list.size()); } }
@Test public void testRemoveHeadAndTail3() { LinkedListIterator<Integer> iter = list.iterator(); int num = 10; for (int i = 0; i < num; i++) { if (i % 2 == 0) { list.addHead(i); } else { list.addTail(i); } assertEquals(1, list.size()); assertTrue(iter.hasNext()); assertEquals(i, iter.next().intValue()); iter.remove(); } }
@Test public void testPoll() { int num = 10; assertNull(list.poll()); assertNull(list.poll()); assertNull(list.poll()); for (int i = 0; i < num; i++) { list.addTail(i); } for (int i = 0; i < num; i++) { assertEquals(i, list.poll().intValue()); } assertNull(list.poll()); assertNull(list.poll()); assertNull(list.poll()); for (int i = num; i < num * 2; i++) { list.addHead(i); } for (int i = num * 2 - 1; i >= num; i--) { assertEquals(i, list.poll().intValue()); } assertNull(list.poll()); assertNull(list.poll()); assertNull(list.poll()); }