Queue
`# | `キュー | 備考 |
1 | ArrayBlockingQueue | 固定要領の配列に基づくキュー |
2 | LinkedBlockingQueue | |
3 | PriorityBlockingQueue | |
4 | SynchronousQueue | |
5 | PriorityQueue | 優先順位で並べ替えるキュー |
6 | DelayQueue | 時間後経過しなければ要素を取り出すことの出来ないキュー |
7 | ConcurrentLinkedQueue |
サンプル
import java.util.concurrent.ArrayBlockingQueue; public class SampleQueue { public static void main(String[] args) { ArrayBlockingQueue<Integer> queues = new ArrayBlockingQueue<Integer>(100); for (int i = 0; i < 5; i++) { System.out.println("offer() : " + queues.offer(i) + " : " + queues); } for (int i = 0; i < 7; i++) { System.out.println("peek() : " + queues.peek() + " : " + queues); System.out.println("poll() : " + queues.poll()); } } }
出力結果
offer() : true : [0] offer() : true : [0, 1] offer() : true : [0, 1, 2] offer() : true : [0, 1, 2, 3] offer() : true : [0, 1, 2, 3, 4] peek() : 0 : [0, 1, 2, 3, 4] poll() : 0 peek() : 1 : [1, 2, 3, 4] poll() : 1 peek() : 2 : [2, 3, 4] poll() : 2 peek() : 3 : [3, 4] poll() : 3 peek() : 4 : [4] poll() : 4 peek() : null : [] poll() : null peek() : null : [] poll() : null
参考文献
http://www.atmarkit.co.jp/fjava/javatips/182java064.htmlhttp://nextindex.s141.xrea.com/java/collection/Queue.html
http://www.javadrive.jp/start/linkedlist/index5.html
http://www.techscore.com/tech/Java/JavaSE/Utility/12/#utl12-2