Doppelt Verkettete Liste - Ist alles gut so?

B

bob651

Aktives Mitglied
Hi, ich soll eine LinkedList<T> schreiben, dass dieses* Interface implementiert. Könnt ihr kurz schauen, ob ich es richtig gemacht habe und was ich verbessern könnte?
Hier das Interface:
Code:
class list<T> {
   

public interface List<T> {
   
    public void add();
   
   
    public void add(int index, T value);

   
    public T contains(T value);
   
   
    public int indexOf (T value);
   
   
    public T remove(T value);
   
    public T remove(int index);
   
   
    public T get(int index);
   
   
    public int size();

}}

Und hier was ich bis jetzt habe:
Code:
public class DLinkedNode<T> {

    private static class Node<T> {
        private T data;
        private Node nächste;
        private Node vorher;

        public Node(T data) {
            this.data = data;
        }

        public void displayNode() {
            System.out.print(data + " ");
        }

     
        public String toString() {
            return data.toString();
        }
    }

    public Node anfang = null;
    public Node ende = null;

    public void addFirst(T data) {
        Node newNode = new Node(data);

        if (contains()) {
            newNode.nächste = null;
            newNode.vorher = null;
            anfang = newNode;
            ende = newNode;

        } else {
            anfang.vorher = newNode;
            newNode.nächste = anfang;
            newNode.vorher = null;
            anfang = newNode;
        }
    }

    public boolean contains() {
        return (anfang == null);
    }

    public void size() {
        Node current = anfang;
        while (current != null) {
            current.displayNode();
            current = current.nächste;
        }
        System.out.println();
    }

    public void ersteLöschen() {
        if (!contains()) {
            Node temp = anfang;

            if (anfang.nächste == null) {
                anfang = null;
                ende = null;
            } else {
                anfang = anfang.nächste;
                anfang.vorher = null;
            }
            System.out.println(temp.toString() + " wird gelöscht");
        }
    }

    public void endeLöschen() {
        Node temp = ende;

        if (!contains()) {

            if (anfang.nächste == null) {
                anfang = null;
                ende = null;
            } else {
                ende = ende.vorher;
                ende.nächste = null;
            }
        }
        System.out.println(temp.toString() + " wird gelöscht");
    }
    public static void main(String[] args) {
        DLinkedNode neueListe = new DLinkedNode();
        neueListe.addFirst("LOL");
        neueListe.addFirst("XD");
        neueListe.addFirst(3);
        neueListe.addFirst(2);
        neueListe.addFirst(1);
        neueListe.size();
        neueListe.ersteLöschen();
        neueListe.ersteLöschen();
        neueListe.ersteLöschen();
        neueListe.endeLöschen();

        neueListe.size();
    }
}
 
InfectedBytes

InfectedBytes

Top Contributor
Wäre schon sinnvoll wenn du das Interface auch implementierst^^
Java:
public class LinkedList<T> implements List<T> {

}
und eben auch mit den korrekten Methoden
 
B

bob651

Aktives Mitglied
Hi, habe mal versucht alle Methoden zu implementieren, aber manche fehlen, aber der Code funzt trotzdem. Wie löse ich das?

Hier mein Stand(musste eig nur etwas umbenennen)

Code:
package algo1;



public class LinkedList<T>{
    private static class Node<T> {
        private T value;
        private Node nächste;
        private Node vorher;

        public Node(T value) {
            this.value = value;
        }

        public void displayNode() {
            System.out.print(value + " ");
        }

    
        public String toString() {
            return value.toString();
        }
    }
    public Node head = null;
    public Node tail = null;
  
  
  
  
  
  
  
    public void add(T value) {
        Node newNode = new Node(value);

        if (contains()) {
            newNode.nächste = null;
            newNode.vorher = null;
            head = newNode;
            tail = newNode;

        } else {
            head.vorher = newNode;
            newNode.nächste = head;
            newNode.vorher = null;
            head = newNode;
        }
      
    }

  
    public void add(int index, T value) {
        // TODO Auto-generated method stub
      
    }

  
    public boolean contains() {
        return (head == null);
    }

  
    public int indexOf(T value) {
        // TODO Auto-generated method stub
        return 0;
    }

  
    public void remove(T value) {
        if (!contains()) {
            Node temp = head;

            if (head.nächste == null) {
                head = null;
                tail = null;
            } else {
                head = head.nächste;
                head.vorher = null;
            }
            System.out.println(temp.toString() + " wird gelöscht");
        }
    }

  
    public T remove(int index) {
        Node temp = tail;

           if (!contains()) {

               if (head.nächste == null) {
                   head = null;
                   tail = null;
               } else {
                   tail = tail.vorher;
                   tail.nächste = null;
               }
           }
           System.out.println(temp.toString() + " wird gelöscht");
            return null;
    }

  
    public T get(int index) {
      
        return null;
    }

    public int size() {
        Node current = head;
        while (current != null) {
            current.displayNode();
            current = current.nächste;
        }
        System.out.println();
        return 0;
    }
  
    public static void main(String[] args) {
           DLinkedNode neueListe = new DLinkedNode();
           neueListe.addFirst("LOLOO");
           neueListe.addFirst("XD");
           neueListe.addFirst(3);
           neueListe.addFirst(2);
           neueListe.addFirst(1);
           neueListe.size();
           neueListe.ersteLöschen();
           neueListe.ersteLöschen();
           neueListe.ersteLöschen();
           neueListe.endeLöschen();

           neueListe.size();
       }
  
}


Also es fehlen:
indexOf
add(int index, T value)
public T get
 
Zuletzt bearbeitet:
B

bob651

Aktives Mitglied
eine Frage: es klappt ja soweit alles, auch ohne die Methoden, die fehlen. Kann es sein, dass ich sie habe, nur nicht als eine eigene Methode?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
A Doppelt verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 17
D Doppelt Verkettete Zirkular-Liste Java Basics - Anfänger-Themen 1
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
scratchy1 doppelt verkettete Liste testen Java Basics - Anfänger-Themen 8
U Datentypen Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 13
J Methoden Doppelt verkettete Liste remove(Object) Java Basics - Anfänger-Themen 8
B OOP Über eine doppelt verkettete Liste iterieren Java Basics - Anfänger-Themen 4
L Doppelt verkettete Liste Java Basics - Anfänger-Themen 6
R doppelt verkettete Liste aus Arrays erstellen Java Basics - Anfänger-Themen 1
S Doppelt verkettete Liste Java Basics - Anfänger-Themen 3
G Doppelt Verkettete Liste Java Basics - Anfänger-Themen 2
A Doppelt Verkettete Liste Java Basics - Anfänger-Themen 16
E doppelt verkettete liste Java Basics - Anfänger-Themen 10
E Datentypen Doppelt verkettete Liste Java Basics - Anfänger-Themen 10
P Einfügen in doppelt verkettete Liste Java Basics - Anfänger-Themen 7
S Queue als doppelt verkettete Liste Java Basics - Anfänger-Themen 2
N doppelt verkettete liste einfügen Java Basics - Anfänger-Themen 7
K Datentypen Einfach/Doppelt verkettete Liste Java Basics - Anfänger-Themen 4
W Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 2
G Doppelt verkettete, generische Liste Java Basics - Anfänger-Themen 11
D doppelt verkettete Liste Java Basics - Anfänger-Themen 16
S Doppelt Verkettete Liste Java Basics - Anfänger-Themen 7
M Doppelt verkettete Liste Zeiger Vorgänger beim Einfügen Java Basics - Anfänger-Themen 2
J doppelt verkettete Liste Java Basics - Anfänger-Themen 5
L doppelt verkettete Liste Java Basics - Anfänger-Themen 6
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 12
B Doppelt verkettete Liste Java Basics - Anfänger-Themen 16
R Datentyp Ring - zyklisch doppelt verkettete Liste - HILFE! Java Basics - Anfänger-Themen 12
R doppelt verkettete Liste Java Basics - Anfänger-Themen 8
F doppelt verkettete liste! Java Basics - Anfänger-Themen 8
R doppelt verkettete azyklische Liste Java Basics - Anfänger-Themen 2
T Klasse in Java für doppelt verkettete Listen Java Basics - Anfänger-Themen 4
H Doppelt verkettete Listen Java Basics - Anfänger-Themen 2
S doppelt verkettete Listen Java Basics - Anfänger-Themen 4
X Vererbung: Doppelt verkettete Listen Java Basics - Anfänger-Themen 16
I Input/Output Code wird doppelt ausgeführt Java Basics - Anfänger-Themen 3
N package wird doppelt im exporer angezeigt Java Basics - Anfänger-Themen 2
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
J Fehler beim generieren von 4 Zufallszahlen Zahl doppelt ist eigentlich ausgeschlossen Java Basics - Anfänger-Themen 9
T Löschen in doppelt verketteter Liste Java Basics - Anfänger-Themen 1
L Input/Output Println wird doppelt ausgeführt Java Basics - Anfänger-Themen 11
D Interface Frame doppelt durch Aufruf der GUI Klasse Java Basics - Anfänger-Themen 1
B BufferedReader gibt Datei-Inhalt doppelt aus Java Basics - Anfänger-Themen 3
M Liste Implementation, doppelt next() Java Basics - Anfänger-Themen 13
D Klassen Doppelt so viele Elemente in Arraylist ? Java Basics - Anfänger-Themen 4
Salo Datentypen "Doppelt" List(e) ("gesucht") Java Basics - Anfänger-Themen 6
L do-while-Schleife läuft doppelt, try catch fehler Java Basics - Anfänger-Themen 12
T Java Methode wird unerwünscht doppelt aufgerufen?! Java Basics - Anfänger-Themen 4
NicoDeluxe Doppelt Werte CSV Java Basics - Anfänger-Themen 2
llabusch Verkette Listen - Einfach und Doppelt Java Basics - Anfänger-Themen 3
N Erste Zeile bei BufferedReader doppelt lesen? Java Basics - Anfänger-Themen 2
E Erste Schritte Sortieren von Objekten in doppelt-verlinkter Liste Java Basics - Anfänger-Themen 9
S Methoden Methode wird doppelt aufgerufen ... Java Basics - Anfänger-Themen 5
J Mehrere Zufallszahlen erzeugen, aber keine darf doppelt erzeugt werden - Wie? Java Basics - Anfänger-Themen 5
B Doppelt gekettete Listen Java Basics - Anfänger-Themen 4
G PropertyChangeListener empfängt Events doppelt Java Basics - Anfänger-Themen 5
L doppelt verkette Liste Java Basics - Anfänger-Themen 5
H Fenster doppelt gezeichnet. Java Basics - Anfänger-Themen 2
G Einfügen aus Zwischenablage - alles doppelt? Java Basics - Anfänger-Themen 2
G JFileChooser kommt doppelt Java Basics - Anfänger-Themen 3
N Nullpointerexception bei Doppelt verketteter Liste Java Basics - Anfänger-Themen 7
M Listen richtig doppelt verkettet? Java Basics - Anfänger-Themen 13
D Exceptions in doppelt verketteter Liste Java Basics - Anfänger-Themen 5
C verify() wird doppelt aufgerufen (JTable + InputVerifier) Java Basics - Anfänger-Themen 8
H doppelt verkette liste Java Basics - Anfänger-Themen 2
L rückwärtsausgeben einer doppelt verketteten liste Java Basics - Anfänger-Themen 2
G JList und ListCellRenderer - Vector erscheint doppelt Java Basics - Anfänger-Themen 6
G JComboBox gibt SelectedItem immer doppelt aus Java Basics - Anfänger-Themen 4
B Array doppelt Felder löschen Java Basics - Anfänger-Themen 27
M Code wird doppelt ausgeführt Java Basics - Anfänger-Themen 2
R Zeilen aus datei lesen + doppelt gespeichert? Java Basics - Anfänger-Themen 3
G Trotz Abfrage immer noch Zahlen doppelt Java Basics - Anfänger-Themen 3
R Benutzerregistrierung: Doppelt registriert. Java Basics - Anfänger-Themen 8
V einfach verkettete Listen Java Basics - Anfänger-Themen 10
A Verkettete Liste Java Basics - Anfänger-Themen 2
L verkettete Liste Java Basics - Anfänger-Themen 15
R Methoden Entferne alle identische Knoten (Typ String) aus verkettete Liste Java Basics - Anfänger-Themen 8
C Methoden Über eine einfach verkettete Liste Java Basics - Anfänger-Themen 8
H Verkettete Liste Java Basics - Anfänger-Themen 7
N Verkettete liste rückwärts ausgeben Java Basics - Anfänger-Themen 5
K Verkettete Liste und seine Methoden Java Basics - Anfänger-Themen 1
A Was könnten typische Prüfungsaufgaben zum Thema lineare, verkettete Listen sein? Java Basics - Anfänger-Themen 5
N Verkettete Liste implementieren Java Basics - Anfänger-Themen 5
O Einfach verkettete Liste - Revert Methode Java Basics - Anfänger-Themen 1
G Verkettete Liste - Neu erzeugte Elemente werden nicht ausgegeben Java Basics - Anfänger-Themen 5
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
C Verkettete Liste - sortiert einfügen Java Basics - Anfänger-Themen 7
R Erste Schritte Verkettete Liste will einfach nicht in meinen Schädel Java Basics - Anfänger-Themen 11
B in einem abstrakten Set ,Elemente einer einfache verkettete List epeichern Java Basics - Anfänger-Themen 13
hooked Verkettete Liste / linked list Java Basics - Anfänger-Themen 2
J Eine Art verkettete Liste aber mit teils mehr als einem Nachfolger Java Basics - Anfänger-Themen 8
V Verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 3
N verkettete Listen Java Basics - Anfänger-Themen 4
K Einfach Verkettete Liste - addFirst() Java Basics - Anfänger-Themen 7
M verkettete Listen Java Basics - Anfänger-Themen 1
G 2 Aufgabe rund um eine verkettete Liste Java Basics - Anfänger-Themen 2
O Verkettete Liste Java Basics - Anfänger-Themen 10
E Methoden auf von Methoden erstellte Objekte zugreifen (verkettete Liste) Java Basics - Anfänger-Themen 10
X Einfach verkettete Liste, keine Fehlermeldung Programm friert ein Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Anzeige

Neue Themen


Oben