package com.coding.basic.impl;
import com.coding.basic.Iterator;
/**
* 队列简单实现
* @author 240094626
*
*/
public class Queue {
/**队列元素容器对象*/
LinkedList elementData = new LinkedList();
/**
* 入队列
* @param o
*/
public void enQueue(Object o){
elementData.add(o);
}
/**
* 出队列:先进先出,故取出链表首个节点
* @return
*/
public Object deQueue(){
return elementData.removeFirst();
}
public boolean isEmpty(){
if(elementData.size() > 0 ){
return false;
}
return true;
}
public int size(){
return elementData.size();
}
@Override
public String toString() {
return "Queue {elementData=" + elementData + "}";
}
public Iterator iterator(){
return new QueueIterator();
}
private class QueueIterator implements Iterator{
int index;
public QueueIterator() {
index = 0;
}
@Override
public boolean hasNext() {
if(index < elementData.size()){
return true;
}
return false;
}
@Override
public Object next() {
return elementData.get(index++);
}
}
}