Doppelt Verkettete Liste implementieren

#1
Hallöchen,

ich habe da ein kleines Problem und zwar möchte ich bestimmte Objekte nicht mehr in einer ArrayList speichern sondern in einer extra entwickelten Verketteten Listen Implementierung. Die Liste funktioniert und ich kann auch über meine Main auf die Methoden zugreifen. Nur aus Irgendeinem Grund funktioeren die Methoden Aufrufe nicht, weil ich in den Methoden nicht direkt auf die Liste zugreife.

Zum Beispiel:
Java:
//Main:
Programm eins = new Programm();

System.out.println(eins.getDiesDas()*100); //Aufruf in der Main

//Ab jetzt Methode aus der Klasse:
public class Programm extends DoublyLinkedList<Einheit>{

static Programm einheiten = new Programm();

public double getDiesDas() {
        for(int i = 0; i < einheiten.size(); i++){
           x = einheiten.get(i). //bla bla Rechnung
        }
        return x;
    }

Java:
//Main:

Programm eins = new Programm();

System.out.println(eins.getDiesDas(eins)*100); //Aufruf in der Main



//Ab jetzt Methode aus der Klasse:

public class Programm extends DoublyLinkedList<Einheit>{



static Programm einheiten = new Porgramm();



public double getDiesDas(Programm programm) {

        for(int i = 0; i < programm.size(); i++){

           x = programm.get(i).//bla bla Rechnung

        }

        return x;

    }

Also was mach ich falsch damit ich bei Aufruf eins.getBlabla nicht die Liste als Parameter selbst angeben muss???

Hoffe das ist verständlich habe meinen Code nur versucht zu erklären^^

danke schon mal und freundliche Grüße

Mauli
 
#2
Achja und nochwas, warum in aller Welt geht:
Java:
if(eins.get(3).contains(variabel)){
            System.out.println("Enthält Variabel");
        }
aber nicht
Java:
for(int i = 0; i < contains.size(); i++) {
     if(eins.get(i).contains(variabel))
            System.out.println("Enthält Variabel")
     }
??? Warum läuft der da nicht durch??? :mauer:
 

lord_haffi

Well-Known Member
#4
Java:
public double getDiesDas() {
    for(int i = 0; i < einheiten.size(); i++){
        x = einheiten.get(i). //bla bla Rechnung
    } return x;
}
Da greifst du auf eine statische Variable (einheiten) zu, anstatt die Liste zu ändern, die den Befehl ausführt (this und so u know ;)).
Allerdings hast du auch nicht gesagt, was genau du eigentlich machen willst. Und wenn du den ganzen Code deiner Implementierung einer LinkedList postest, kann man auch sagen, was daran nicht funktioniert (denn scheinbar funktioniert es ja nicht).
Und btw, Fehlerbeschreibungen (Fehlermeldungen oder Beschreibungen, was eigentlich hätte passieren sollen und was du bekommen hast) sind auch unheimlich praktisch ;)

Das zweite sieht etwas komisch aus, kann aber wie gesagt nichts dazu sagen, weil ich deinen Code nicht kenne. Meine Glaskugel ist leider kaputtgegangen, um mal eine allseits beliebte Formulierung aufzugreifen :p

Mfg

lord_haffi

PS: Irgendwie hab ich die Einrückung beim Zitat hier nicht hingekriegt.. Entweder bin ich zu blöd oder es ist buggy ^^'

Moderator Notiz: Notfalls manuell Code-Tags im Quote-Tag setzen - glaub, das kriegt die Software nicht hin...
 
Zuletzt bearbeitet von einem Moderator:
Oben