Я ищу что-то подобное ConcurrentLinkedQueue
, но со следующими поведениями:Java Collection для специальной прокрутки, круговая очередь
- Когда я
peek()
/poll()
очереди, она извлекает ГОЛОВА, делает не удалить его, а затем последовательно продвигает глава одного узла к хвосту - Когда голова == ХВОСТ, следующий раз, когда я
peek()
/poll()
, глава сбрасывается в исходном узел (таким образом, «круглое» поведение)
Так что, если я создал очередь так:
MysteryQueue<String> queue = new MysteryQueue<String>();
queue.add("A"); // The "original" HEAD
queue.add("B");
queue.add("C");
queue.add("D"); // TAIL
String str1 = queue.peek(); // Should be "A"
String str2 = queue.peek(); // Should be "B"
String str3 = queue.peek(); // Should be "C"
String str4 = queue.peek(); // Should be "D"
String str5 = queue.peek(); // Should be "A" again
В этой моде, я могу выглядывать/опрос в течение всего дня, и очередь будет просто держать прокрутки моей очереди, снова и снова.
Имеет ли судно JRE что-то вроде этого? Если нет, возможно, что-то в коллекциях Apache Commons или какой-либо другой сторонней lib? Заранее спасибо!
Это довольно просто написать себе. BTW peek() даст вам одно и то же значение каждый раз, пока вы не возьмете() элемент. –