001    package aima.datastructures;
002    
003    import java.util.ArrayList;
004    import java.util.List;
005    
006    import aima.util.AbstractQueue;
007    
008    /**
009     * @author Ravi Mohan
010     * 
011     */
012    public class FIFOQueue extends AbstractQueue {
013            @Override
014            public void add(Object anItem) {
015                    super.addToFront(anItem);
016            }
017    
018            @Override
019            public void add(List items) {
020                    List<Object> reversed = new ArrayList<Object>();
021                    for (int i = items.size() - 1; i > -1; i--) {
022                            reversed.add(items.get(i));
023                    }
024                    super.addToFront(reversed);
025            }
026    
027            @Override
028            public Object remove() {
029                    return super.removeLast();
030            }
031    
032            @Override
033            public Object get() {
034                    return super.getLast();
035            }
036    
037    }