ld1
unknown
java
3 years ago
1.3 kB
6
Indexable
package util;
import java.util.Iterator;
import java.util.LinkedList;
public class LinkedListQueue<E> implements Queue<E>, Iterable<E> {
private java.util.LinkedList<E> queue;
public LinkedListQueue() {
this.queue = new LinkedList<>();
}
//naujo elemento pridėjimui į eilės galą
@Override
public void enqueue(E item) {
queue.add(item);
}
//pirmojo eilėje esančio elemento ištrynimui ir grąžinimui
@Override
public E dequeue() {
if (queue.isEmpty()) return null;
E item = queue.get(0);
queue.remove(0);
return item;
}
//pirmojo eilėje esančio elemento grąžinimui
@Override
public E peak() {
if (queue.isEmpty()) return null;
return queue.get(0);
}
//patikrinimui, ar eilė tuščia
@Override
public boolean isEmpty() {
return queue.isEmpty();
}
@Override
public Iterator<E> iterator() {
return new LinkedQueueIterator();
}
public class LinkedQueueIterator implements Iterator{
int index = 0;
@Override
public boolean hasNext() {
return index < queue.size();
}
@Override
public Object next() {
return queue.get(index++);
}
}
}
Editor is loading...