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;
}
}