Java Code Examples for java.util.concurrent.ConcurrentLinkedDeque#descendingIterator()
The following examples show how to use
java.util.concurrent.ConcurrentLinkedDeque#descendingIterator() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ConcurrentLinkedDequeTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
/** * Descending iterator iterates through all elements */ public void testDescendingIterator() { ConcurrentLinkedDeque q = populatedDeque(SIZE); int i = 0; Iterator it = q.descendingIterator(); while (it.hasNext()) { assertTrue(q.contains(it.next())); ++i; } assertEquals(i, SIZE); assertFalse(it.hasNext()); try { it.next(); shouldThrow(); } catch (NoSuchElementException success) {} }
Example 2
Source File: ConcurrentLinkedDequeTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
/** * Descending iterator ordering is reverse FIFO */ public void testDescendingIteratorOrdering() { final ConcurrentLinkedDeque q = new ConcurrentLinkedDeque(); for (int iters = 0; iters < 100; ++iters) { q.add(new Integer(3)); q.add(new Integer(2)); q.add(new Integer(1)); int k = 0; for (Iterator it = q.descendingIterator(); it.hasNext();) { assertEquals(++k, it.next()); } assertEquals(3, k); q.remove(); q.remove(); q.remove(); } }
Example 3
Source File: ConcurrentLinkedDequeTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
/** * descendingIterator.remove() removes current element */ public void testDescendingIteratorRemove() { final ConcurrentLinkedDeque q = new ConcurrentLinkedDeque(); final Random rng = new Random(); for (int iters = 0; iters < 100; ++iters) { int max = rng.nextInt(5) + 2; int split = rng.nextInt(max - 1) + 1; for (int j = max; j >= 1; --j) q.add(new Integer(j)); Iterator it = q.descendingIterator(); for (int j = 1; j <= split; ++j) assertEquals(it.next(), new Integer(j)); it.remove(); assertEquals(it.next(), new Integer(split + 1)); for (int j = 1; j <= split; ++j) q.remove(new Integer(j)); it = q.descendingIterator(); for (int j = split + 1; j <= max; ++j) { assertEquals(it.next(), new Integer(j)); it.remove(); } assertFalse(it.hasNext()); assertTrue(q.isEmpty()); } }
Example 4
Source File: ConcurrentLinkedDequeTest.java From j2objc with Apache License 2.0 | 6 votes |
/** * Descending iterator iterates through all elements */ public void testDescendingIterator() { ConcurrentLinkedDeque q = populatedDeque(SIZE); int i = 0; Iterator it = q.descendingIterator(); while (it.hasNext()) { assertTrue(q.contains(it.next())); ++i; } assertEquals(i, SIZE); assertFalse(it.hasNext()); try { it.next(); shouldThrow(); } catch (NoSuchElementException success) {} }
Example 5
Source File: ConcurrentLinkedDequeTest.java From j2objc with Apache License 2.0 | 6 votes |
/** * Descending iterator ordering is reverse FIFO */ public void testDescendingIteratorOrdering() { final ConcurrentLinkedDeque q = new ConcurrentLinkedDeque(); for (int iters = 0; iters < 100; ++iters) { q.add(new Integer(3)); q.add(new Integer(2)); q.add(new Integer(1)); int k = 0; for (Iterator it = q.descendingIterator(); it.hasNext();) { assertEquals(++k, it.next()); } assertEquals(3, k); q.remove(); q.remove(); q.remove(); } }
Example 6
Source File: ConcurrentLinkedDequeTest.java From j2objc with Apache License 2.0 | 6 votes |
/** * descendingIterator.remove() removes current element */ public void testDescendingIteratorRemove() { final ConcurrentLinkedDeque q = new ConcurrentLinkedDeque(); final Random rng = new Random(); for (int iters = 0; iters < 100; ++iters) { int max = rng.nextInt(5) + 2; int split = rng.nextInt(max - 1) + 1; for (int j = max; j >= 1; --j) q.add(new Integer(j)); Iterator it = q.descendingIterator(); for (int j = 1; j <= split; ++j) assertEquals(it.next(), new Integer(j)); it.remove(); assertEquals(it.next(), new Integer(split + 1)); for (int j = 1; j <= split; ++j) q.remove(new Integer(j)); it = q.descendingIterator(); for (int j = split + 1; j <= max; ++j) { assertEquals(it.next(), new Integer(j)); it.remove(); } assertFalse(it.hasNext()); assertTrue(q.isEmpty()); } }