Zur erstellen sind verschiedene Regale mit Java Generics. In einem Regal koennen immer nur eine Art von Objecten vorkommen.
Eine get() Methode liefert ein einzelnes Object zurueck, put() stellt ein Element in ein Regal.
putAll() stellt alle Objecte des uebergebenen Arrays in das Regal.
Sobald ich ein Element herausgenommen habe wird das in einem temporaeren Array aufbewahrt (tmp_books, tmp_dvd...)
Mein Problem ist die getAll() Methode ich weis nicht wie ich da die Elemente alle herausnehemen soll??
Eine get() Methode liefert ein einzelnes Object zurueck, put() stellt ein Element in ein Regal.
putAll() stellt alle Objecte des uebergebenen Arrays in das Regal.
Sobald ich ein Element herausgenommen habe wird das in einem temporaeren Array aufbewahrt (tmp_books, tmp_dvd...)
Mein Problem ist die getAll() Methode ich weis nicht wie ich da die Elemente alle herausnehemen soll??
Java:
public static void main(String[] args) {
//Neue Regale werden erzeugt in der Klasse shelf
shelf<Book> bookshelf = new shelf<Book>();
shelf<wineBottle> wineshelf = new shelf<wineBottle>();
shelf<CD> cd = new shelf<CD>();
shelf<DVD> dvd = new shelf<DVD>();
//Temporaere Regale fuer die Aufbewahrung
Book[] tmp_books = new Book[100];
wineBottle[] tmp_wine = new wineBottle[100];
CD[] tmp_cd = new CD[100];
DVD[] tmp_dvd = new DVD[100];
//Elemente werden eingefuegt
bookshelf.put(new Book("The island", "John Meyers"));
bookshelf.put(new Book("Atlas", "Nobody"));
bookshelf.put(new Book("New York", "Steven Frank"));
cd.put(new CD("Bon Jovi", 12));
cd.put(new CD("Greenday", 13));
cd.put(new CD("ACDC", 18));
dvd.put(new DVD("Shutter Island", 110));
dvd.put(new DVD("Pulp Fiction", 100));
wineshelf.put(new wineBottle("Magdalener", "rot"));
wineshelf.put(new wineBottle("Blauburgunder", "rot"));
}
public class shelf<T> {
protected T[] data;
protected int i=0;
@SuppressWarnings("unchecked")
public shelf() {
this.data = (T[]) new Object[100];
}
public void put(T element) {
this.data[i] = element;
i++;
}
public T get() {
if (i>0) {
i--;
T element = this.data[i];
this.data[i] = null;
return element;
}
else return null;
}
public void putAll(T[] elements) {
for(int j=0; j<elements.length; j++) {
if(elements[j]!=null) {
this.data[i] = elements[j];
elements[j]=null;
i++;
}
}
}
public T[] getAll() {
// Keine Ahnung wie ich die Zurueckgeben soll??
}
}