Java ArrayListen?

the.expert

Lieutenant
Registriert
Jan. 2008
Beiträge
892
Hey,
ich habe folgende Aufgabe vor mir und habe 0 Plan. Kann mir jemand Starthilfe geben? :)

Implementieren Sie einen Verbunddatentyp für die Verwaltung von Listen von double-Werten in Java. Die Liste soll mit Hilfe eines Arrays realisiert werden, d.h. alle Elemente der Liste werden in einem Array der passenden Größe verwaltet. Folgende Verbunde und Prozeduren sollen Sie realisieren:

class List { ... } // der zu entwerfende Verbunddatentyp
List create() // Erzeugt eine neue leere Liste.
void append(List l, double elem) // Haengt ein Element an die Liste an.
int size(List l) // Liefert die Anzahl der Listenelemente.
double get(List l, int index) // Liefert das Element an der Stelle 'index '.
void put(List l, int index , double elem) // Fuegt 'elem' als 'index' ein.
void remove(List l, int index) // Entfernt das Element mit 'index '.
boolean contains(List l, double elem) // Testet , ob 'elem' enthalten ist.
 
Woran scheiterts denn genau?

Ach ja: Die Aufgabenstellung ist dumm. Warum soll man bei jeder Methode noch die entsprechende Liste angeben, wo doch die Methoden nicht statisch sind? O_o

Gruß Timo
 
Laut Text kapselt deine zu erstellende Klasse ein double-Array (private) und besitzt diverse öffentliche Methoden, welche auf das Array angewendet werden. Die Methoden sind ja angegeben und erklären sich von selbst anhand des Namens, du musst jetzt halt schauen, wie du die implementierst. Mehr als 5-6 Zeilen sind es pro Methode nicht, teilweise auch nur 1-2 Zeilen, überleg mal :)
 
Code:
class List {
    private Object[] data;
}

Schöner wirds mit Generics, aber soweit bist Du wohl noch nicht...
 
@soares, der TE muss doch nur ein double-Array anlegen, richtig wäre es also wie folgt:
Code:
public class List {
    private double[] array;

    private List() {
        this.array = new array[beliebigeZahlN];
        for(int i = 0; i < this.array.size; i++) {
            this.array[i] = Double.NaN;
    }
    
    public static List create() {
        return new List();
    }
    
    public void append(List l, double elem) {
        // kA warum da die Liste übergeben werden soll
        int counter = 0;
        while(array[counter] != Double.NaN) {
            counter++;
        }
        array[counter] = elem;
    }
    usw.
}

So, weiter programmier ich dir das jetzt nicht aus.^^

Gruß Timo
 
Zuletzt bearbeitet: (Code erweitert)
Das glaube ich nicht, denn es ist ja eine create-Methode verlangt, die die Konstruktion übernehmen soll ;-)

Gruß Timo
 
ah mist, wollte ich hinschreiben, habs aber vergessen^^
 
yoT!mO schrieb:
Ach ja: Die Aufgabenstellung ist dumm. Warum soll man bei jeder Methode noch die entsprechende Liste angeben, wo doch die Methoden nicht statisch sind?

Die Aufgabenstellung klingt für mich eher nach einer Aufgabe fürs strukturierte Programmieren. Dann macht auch der zusätzliche Parameter für die Liste sinn, aber warscheinlich hat der Aufgabensteller diese Aufgabe nur 1:1 für die objektorientierte Programmierung übernommen.
 
Zuletzt bearbeitet:
Zurück
Oben