Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Ayuda ejercicio JAVA

Una bolsa puede ser definida como una colección de elementos entre los que no se establece ninguna relación de orden. Una vez que introducimos un elemento en la bolsa no podremos decir en qué posición va a quedar dicho elemento con respecto al resto de elementos de la bolsa. De la misma forma, al extraer un elemento de la bolsa todos tienen la misma posibilidad de ser extraídos. Teniendo esto en cuenta crea una interfaz Bag, que herede del interfaz Collection y cuyo objetivo sea definir el comportamiento de una bolsa. Bag debe tener al menos los siguientes métodos:
boolean add(E e). Añade el elemento especificado a la bolsa, devuelve true si la bolsa ha cambiado después de realizar la operación.

boolean addAll(Collection<? extends E> c). Añade a la bolsa todos los elementos de la colección pasada por parámetro. Devuelve true si la bolsa ha cambiado después de realizar la operación.

void clear(). Elimina todos los elementos de la bolsa

boolean contains(Object o). Comprueba si la bolsa contiene el elemento pasado por parámetro

boolean isEmpty(). Devuelve true si la bolsa no tiene elementos

public Iterator<E> iterator(). Devuelve un iterador que permite recorrer los elementos de la bolsa.

int size(). Devuelve el número de elementos de la bolsa

E extract(). Extrae un elemento de la bolsa, como todos los elementos tienen la misma probabilidad de ser extraídos deben usarse números pseudoaleatorios para decidir que elemento debe ser seleccionado

emptyIn(Bag<? super E> b). Vacía el contenido de la bolsa actual en la bolsa pasada por parámetro. La bolsa actual queda vacía

Crea ahora una clase que realice el interfaz Bag y le de una implementación a sus métodos (por ejemplo BagList si almacenáis los elementos en una lista). Como vemos, salvo los métdos extract y EmtyIn, el resto son métodos del interfaz Collection. Sin embargo, en Collection hay muchos más métodos que los aquí listados. Para no complicar en exceso el ejercicio podéis darle una implementación por defecto a esos métodos (dejando la implementación definitiva como optativa) y obviar la prueba de los mismos.

noviembre 17, 2014 | Registered Commentergonzalast

En serio, no perdáis el tiempo copiando enunciados de ejercicios en este foro. Aquí no respondemos a vagos y, si lo hacemos, no va a ser una respuesta agradable.

Cómo hacer preguntas inteligentes

noviembre 17, 2014 | Registered Commenterrickiees

InfoThis thread has been locked.