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 LIFOQueue extends AbstractQueue { 013 014 @Override 015 public void add(Object anItem) { 016 super.addToFront(anItem); 017 } 018 019 @Override 020 public void add(List items) { 021 List<Object> reversed = new ArrayList<Object>(); 022 for (int i = items.size() - 1; i > -1; i--) { 023 reversed.add(items.get(i)); 024 } 025 super.addToFront(reversed); 026 } 027 028 @Override 029 public Object remove() { 030 return super.removeFirst(); 031 } 032 033 @Override 034 public Object get() { 035 return super.getFirst(); 036 } 037 }