Java Code Examples for java.util.Collections#asLifoQueue()
The following examples show how to use
java.util.Collections#asLifoQueue() .
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: DefaultStager.java From james-project with Apache License 2.0 | 7 votes |
/** * @param stage the annotation that specifies this stage * @param mode execution order */ public DefaultStager(Class<A> stage, Order mode) { this.stage = stage; Queue<Stageable> localStageables; switch (mode) { case FIRST_IN_FIRST_OUT: { localStageables = new ArrayDeque<>(); break; } case FIRST_IN_LAST_OUT: { localStageables = Collections.asLifoQueue(new ArrayDeque<>()); break; } default: { throw new IllegalArgumentException("Unknown mode: " + mode); } } stageables = localStageables; }
Example 2
Source File: CollectionsTest.java From j2objc with Apache License 2.0 | 6 votes |
/** * serialization/deserialization. */ @SuppressWarnings({ "unchecked", "boxing" }) public void testSerializationSelf_asLifoQueue() throws Exception { Integer testInt[] = new Integer[100]; for (int i = 0; i < testInt.length; i++) { testInt[i] = new Integer(i); } Deque deque = new ArrayDeque<Integer>(); Queue<Integer> que = Collections.asLifoQueue(deque); for (int i = 0; i < testInt.length; i++) { que.add(testInt[i]); } SerializationTest.verifySelf(que, new SerializableAssert() { public void assertDeserialized(Serializable initial, Serializable deserialized) { Queue<Integer> initque = (Queue) initial; Queue<Integer> deserque = (Queue) deserialized; while (!initque.isEmpty()) { assertEquals(initque.remove(), deserque.remove()); } } }); }
Example 3
Source File: Collections2Test.java From j2objc with Apache License 2.0 | 5 votes |
public void test_Queue_forEach() { Deque<Integer> deque = new ArrayDeque<Integer>(); deque.addFirst(2); deque.addFirst(1); deque.addFirst(0); Queue<Integer> queue = Collections.asLifoQueue(deque); ArrayList<Integer> output = new ArrayList<Integer>(); queue.forEach(v -> output.add(v)); assertEquals(3, output.size()); assertEquals(0, (int)output.get(0)); assertEquals(1, (int)output.get(1)); assertEquals(2, (int)output.get(2)); }
Example 4
Source File: CollectionsTest.java From j2objc with Apache License 2.0 | 5 votes |
public void test_asLifoQueue() throws Exception { Integer testInt[] = new Integer[100]; Integer test101 = new Integer(101); for (int i = 0; i < testInt.length; i++) { testInt[i] = new Integer(i); } Deque deque = new ArrayDeque<Integer>(); Queue<Integer> que = Collections.asLifoQueue(deque); for (int i = 0; i < testInt.length; i++) { que.add(testInt[i]); } assertEquals(100, deque.size()); assertEquals(100, que.size()); for (int i = testInt.length - 1; i >= 0; i--) { assertEquals(testInt[i], deque.pop()); } assertEquals(0, deque.size()); assertEquals(0, que.size()); for (int i = 0; i < testInt.length; i++) { deque.push(testInt[i]); } assertEquals(100, deque.size()); assertEquals(100, que.size()); Collection col = new LinkedList<Integer>(); col.add(test101); que.addAll(col); assertEquals(test101, que.remove()); for (int i = testInt.length - 1; i >= 0; i--) { assertEquals(testInt[i], que.remove()); } assertEquals(0, deque.size()); assertEquals(0, que.size()); }
Example 5
Source File: Queues.java From java-mammoth with BSD 2-Clause "Simplified" License | 4 votes |
public static <T> Queue<T> stack() { return Collections.asLifoQueue(new ArrayDeque<>()); }
Example 6
Source File: MoreQueues.java From vjtools with Apache License 2.0 | 2 votes |
/** * 支持后进先出的栈,用ArrayDeque实现, 经过Collections#asLifoQueue转换顺序 * * 需设置初始长度,默认为16,数组满时成倍扩容 * * @see Collections#asLifoQueue */ public static <E> Queue<E> createStack(int initSize) { return Collections.asLifoQueue(new ArrayDeque<E>(initSize)); }
Example 7
Source File: MoreQueues.java From vjtools with Apache License 2.0 | 2 votes |
/** * 支持后进先出的无阻塞的并发栈,用ConcurrentLinkedDeque实现,经过Collections#asLifoQueue转换顺序 * * 另对于BlockingQueue接口, JDK暂无Lifo倒转实现,因此只能直接使用未调转顺序的LinkedBlockingDeque * * @see Collections#asLifoQueue */ public static <E> Queue<E> createConcurrentStack() { return (Queue<E>) Collections.asLifoQueue(QueueUtil.newConcurrentNonBlockingDeque()); }
Example 8
Source File: MoreQueues.java From vjtools with Apache License 2.0 | 2 votes |
/** * 支持后进先出的栈,用ArrayDeque实现, 经过Collections#asLifoQueue()转换顺序 * * 需设置初始长度,默认为16,数组满时成倍扩容 * * @see Collections#asLifoQueue() */ public static <E> Queue<E> createStack(int initSize) { return Collections.asLifoQueue(new ArrayDeque<E>(initSize)); }
Example 9
Source File: MoreQueues.java From vjtools with Apache License 2.0 | 2 votes |
/** * 支持后进先出的无阻塞的并发栈,用ConcurrentLinkedDeque实现,经过Collections#asLifoQueue()转换顺序 * * 另对于BlockingQueue接口, JDK暂无Lifo倒转实现,因此只能直接使用未调转顺序的LinkedBlockingDeque * * @see Collections#asLifoQueue() */ public static <E> Queue<E> createConcurrentStack() { return (Queue<E>) Collections.asLifoQueue(QueueUtil.newConcurrentNonBlockingDeque()); }