import java.util.ArrayList; import java.util.Iterator; public class Bolsa<T> implements Iterable<T>{ private ArrayList<T> objetos = new ArrayList<T>(); private int capacidad = 10; public Bolsa() { } public Bolsa(int capacidad) { this.capacidad=capacidad; } /** * @return the objetos */ public ArrayList<T> getObjetos() { return objetos; } /** * @param objetos * the objetos to set */ public void setObjetos(ArrayList<T> objetos) { this.objetos = objetos; } public boolean meteObjeto(T objeto){ if (objetos.size()<capacidad){ objetos.add(objeto); return true; } return false; } public boolean sacaObjeto(){ if (objetos.size()>0){ objetos.remove(objetos.size()-1); return true; } return false; } public boolean sacaObjeto(T objeto){ return objetos.remove(objeto); } public boolean cambiaObjeto(T objeto1, T objeto2){ if (objetos.remove(objeto1)){ meteObjeto(objeto2); return true; } return false; } public boolean cambiaObjetoR(T objeto1, T objeto2){ int pos=objetos.indexOf(objeto1); if (pos>=0){ objetos.set(pos, objeto2); return true; } return false; } /** * @return the capacidad */ public int getCapacidad() { return capacidad; } public String toString(){ String res=capacidad + " | "; for(T s:objetos){ res+=s+" | "; } return res; } @Override public Iterator<T> iterator() { // TODO Auto-generated method stub return null; } }