Скажите, что у меня есть очередь, и я хочу исчерпать ее.То, как я бы это сделал, выглядит примерно так:
void emptyQueue(Queue<T> q) {
T i;
while ((i = q.poll()) != null)
consume(i);
}
, но это похоже на архаичный метод.
Я бы хотел что-то более похожее на forEach
.Он, конечно, присутствует - Queue
является Collection
- но он перебирает элементы, а не потребляет их.
В идеале мне бы понравился метод pollEach
для Queue
- но я не могу найти что-нибудь подходящее.
Как вы пишете такой код?