doppelt gelinkte liste /getFirst/removeFirst/clear/Remove

Status
Nicht offen für weitere Antworten.
L

lesi

Gast
guten abend,

ich stehe gerade auf dem schlauch, es waere sehr nett, wenn mir jemand mal beistand leisten wuerde.

ich habe soeben die u. zu sehende zirkulaere gelinkte liste implementiert. ich moechte einige testfaelle dazu schreiben, allerdings bin ich gerade nicht in der lage alle methoden so zu definieren, wie ich es mir wuensche.

die folgenden methoden, sind notwendig. wie implementiere ich diese in meiner double linked list?

- public Object getFirst()
- public Object removeFirst()
- public void clear()
- private void remove( Entry e )

dann noch eine weitere frage zu testfaellen.

bisher habe ich mir die folgenden testfaelle ueberlegt:

- testAdd (Einfaches inserten in die Liste)
- testEquals (Vergleichen von 2 Listen)
- testPeek
- testSize
- testIsEmpty
- test Iterator

fallen einem von euch evtl. noch weitere testfaelle ein, die auf u.g. anwendbar sind?

fuer jede hilfe dankt
lesi!


Code:
public class List   { 
  
  private Entry header; 
  private int size; 

  public List() { 
        header = new Entry(null,null,null); 
  } 
          
  public void addFirst( Object o ) { 
    if (size==0){ 
        Entry newEntry = new Entry(o,null,null); 
        header.next = newEntry; 
        header.previous = newEntry; 
        newEntry.previous = newEntry; 
        newEntry.next = newEntry; 
        size++; 
    } 
    else{addBefore(o,header.next);} 
  } 

  public Object getFirst() { 
      return null; 
  } 

  public Object removeFirst() { 
      return null; 
  } 

  public int size() { 
    return size; 
  } 
  
  public boolean isEmpty(){ 
          return size==0; 
  } 
  

  public void clear() { 
  } 

  private Entry addBefore( Object o, Entry e ) { 
     Entry newEntry = new Entry(o,e,e.previous); 
     e.previous = newEntry; 
     header.next=newEntry; 
     size++; 
     return null; 
  } 

  private void remove( Entry e ) { 

  } 

  public MyListIterator iterator() { 
    return new MyListIterator(); 
  } 
  
  // Inner class MyListIterator 
  private class MyListIterator implements MyIterator { 
  private Entry tempHeader = header; 

    public boolean hasNext() { 
      if((header.next != null) && (tempHeader != header.previous)){ 
              return true; 
      } 
      else 
              return false; 
    } 

    public Object next() { 
            tempHeader = tempHeader.next;//flaw 
      return tempHeader.element; 
    } 
      
    public boolean hasPrevious() { 
            if((header.previous != null) && (tempHeader != header.next)){ 
                    return true; 
            } 
     else 
             return false; 
    } 

    public Object previous() { 
            tempHeader = tempHeader.previous; 
            return tempHeader.element; 
    }      
  } // End of inner class MyListIterator 

  
  // Inner class Entry 
  private class Entry { 
    Object element;//actual data 
    Entry next; 
    Entry previous; 

    Entry( Object element, Entry next, Entry previous ) { 
      this.element = element; 
      this.next = next; 
      this.previous = previous; 
    } 
  } // End of inner class Entry 

} // End of class List
 

SnooP

Top Contributor
getFirst? ... sollte klar sein oder? der header vielleicht?

removeFirst? ... Verschieben des Zeigers... was passiert mit dem ersten Element - also dem header, wenn dieser auf einmal auf das nächste Element zeigt? Richtig - der GC kommt ;)

clear? ... soll das alles löschen? Aus der Sicht der Liste reicht es da den Verweis des headers zu löschen, oder? und next bekommt auch null...

remove(e)... erstmal wirklich anspruchsvoll - aber auch nicht wirklich - du hast doch nen Iterator, ne bessere Methode in einer Liste nach Elementen zu suchen gibts nisch... also linear durchwandern - wenn Element gefunden - was muss man wohl wieder machen, dass die Liste das gefundene Element vergisst?
 
L

lesi

Gast
danke schonmal, klingt sinnvoll; werde ich mal so umsetzen.

bzgl. der testfaelle: kommen da jemandem von euch noch welche in den sinn?

bedankt
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M doppelt verkettete Listen Allgemeine Java-Themen 2
N warum wird es doppelt ausgegeben Allgemeine Java-Themen 6
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
S If-Menü wird doppelt ausgegben Allgemeine Java-Themen 4
D "Paste" String doppelt Allgemeine Java-Themen 14
D Methoden Buttons erscheinen doppelt nach Wiederholung in Schleife Allgemeine Java-Themen 1
Sin137 Interface Eingabe wird doppelt angezeigt Allgemeine Java-Themen 2
O Sax-Parser ließt XML-File doppelt Allgemeine Java-Themen 1
J Fragen zu generischer doppelt verketteter Liste (bei fehlendem Grundverständnis) Allgemeine Java-Themen 1
Z Sortiertes Einfügen in doppelt verkettete Liste Allgemeine Java-Themen 5
R doppelt verkettete Liste: Fehler beim Einfügen Allgemeine Java-Themen 3
chik Doppelt verkettete Liste bzw. Zirkulärliste (kleiner Fehler, den ich nicht finde) Allgemeine Java-Themen 4
N Fehler abfang läuft doppelt durch Allgemeine Java-Themen 2
ARadauer Random keine Zahlen doppelt Allgemeine Java-Themen 4
L Doppelt Verkettete Listen Allgemeine Java-Themen 6
M Alles doppelt in Eclipse syntaxhilfe Allgemeine Java-Themen 6
F Doppelt verkettete Liste sortieren? Allgemeine Java-Themen 8
M doppelt verkettete Listen? Allgemeine Java-Themen 5
C Vier Stellen Keine Doppelt (Zufall) Allgemeine Java-Themen 20
G Array doppelt verkettet? Allgemeine Java-Themen 6
S Thread wird nach erneutem Instanzieren doppelt gestartet!? Allgemeine Java-Themen 4
I Doppelt verkette Listen Allgemeine Java-Themen 2
J Doppelt verkettete Liste Allgemeine Java-Themen 6
Fynn29 Liste sortieren ohne Array und ohne vorgegebene Sortierung Allgemeine Java-Themen 24
MiMa Filtern von TableView Liste Allgemeine Java-Themen 2
B Liste aller Kombintionen mit Einschränkungen Allgemeine Java-Themen 8
TheSepp Wie kann man Leerzeichen aus einer Array liste entfernen? Allgemeine Java-Themen 10
B Liste ändern während Iteration über Diese? Allgemeine Java-Themen 16
D Erste Schritte Liste erweitern Allgemeine Java-Themen 11
sserio Variablen Liste erstellt und ein Problem mit dem Index Allgemeine Java-Themen 6
L allgemein Strings händisch in Liste sortieren Allgemeine Java-Themen 47
M einfach verkettete Liste verstehen Allgemeine Java-Themen 23
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
Gaudimagspam Skip Liste erstellen in Java Allgemeine Java-Themen 3
G Java Editor Löschen doppelter Zahlen einer Liste Allgemeine Java-Themen 2
bueseb84 Spring Boot Entity mit Liste Allgemeine Java-Themen 4
MiMa Werte in liste speichern? Allgemeine Java-Themen 3
Curtis_MC Collections Liste anhand mehrere Kriterien sortieren Allgemeine Java-Themen 6
K verkettete Liste Allgemeine Java-Themen 3
G Liste (UsageStats) sortieren (Android) Allgemeine Java-Themen 5
T Google Links in einer Liste Allgemeine Java-Themen 4
looparda Liste filtern nach Prädikaten verschiedener Typen Allgemeine Java-Themen 3
OSchriever Einfach verkettete Liste ändern Allgemeine Java-Themen 43
L Liste überschreibt alte Elemte Allgemeine Java-Themen 10
H Länge einer verketteten Liste Allgemeine Java-Themen 4
E Erstellen einer Liste mit einer maximalen Menge an Elementen Allgemeine Java-Themen 13
P Element einer Liste wurde hinzugefügt, aber es gibt keinen Zugriff Allgemeine Java-Themen 2
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
L Erste Schritte Liste von Datums filter nach Monate Allgemeine Java-Themen 4
Y Liste in Stream Packen Allgemeine Java-Themen 1
K Einfache Verkettete Liste mit Node Allgemeine Java-Themen 3
perlenfischer1984 Reflection : Element in generische Liste hinzufügen Allgemeine Java-Themen 4
perlenfischer1984 Liste mit generics zurück liefern Allgemeine Java-Themen 8
S Verkettete (Teil)Liste sortieren ( rekursiv bis n) Allgemeine Java-Themen 2
G Liste zwischen zwei Kalenderdaten erstellen Allgemeine Java-Themen 3
B Wie vergleiche ich Strings in einer Liste? Allgemeine Java-Themen 5
Viktim Threads Liste In unterschiedlichen Threads bearbeiten Allgemeine Java-Themen 23
A Collections Inhalt einer Liste mit Inhalt anderer Liste vergleichen ? Allgemeine Java-Themen 7
I Abstrakte Datentypen - Liste Allgemeine Java-Themen 9
D Datentypen Klassenattribut aus Objekt in generischer Liste Allgemeine Java-Themen 15
P Liste zu Objekt umwandeln Allgemeine Java-Themen 4
Z In die Liste kann ich nichts adden Allgemeine Java-Themen 16
C Liste checken auf MINDESTENS ein Objekt | Bukkit Allgemeine Java-Themen 3
M liste von listen anders ausgeben Allgemeine Java-Themen 1
B Per Buttonklicks einer Liste Wörter hinzufügen - Wie umsetzen? Allgemeine Java-Themen 11
H Liste sortieren anhand optionalem Property Allgemeine Java-Themen 3
L Liste führt sich nicht weiter Allgemeine Java-Themen 5
A Input/Output Liste der Dateien in einem Ordner in einer Jar Datei erhalten Allgemeine Java-Themen 11
B Prüfen, ob ein Element in der Liste nicht existiert Allgemeine Java-Themen 3
B Klassen JTable mit einer Liste Allgemeine Java-Themen 0
X HTTP Auslesen der Ergebnisse von einer Webseite und in eine Liste packen Allgemeine Java-Themen 1
A Auslesen einer Datei sowie ausgeben als Liste in App Allgemeine Java-Themen 5
E Liste löscht sich selbstständig Allgemeine Java-Themen 5
H Liste von Objekten generisch sortieren Allgemeine Java-Themen 0
D Liste anhand Standardnormalverteilung befüllen Allgemeine Java-Themen 1
M Threads synchroner Zugriff (add/delete/read) auf eine Liste Allgemeine Java-Themen 6
T Datentypen Eine Liste - verschiedenen Klassen - eine Abstracte Klasse Allgemeine Java-Themen 3
M Werte aus DB in Liste speichern ohne mehrfach speicherung Allgemeine Java-Themen 18
G Liste anzahl der gleichen Objekte Allgemeine Java-Themen 6
S Pattern.Match Suche: For Schleife einbinden und in Liste schreiben Allgemeine Java-Themen 3
O aus Liste ein beliebiges Element auswählen Allgemeine Java-Themen 7
J Liste aller Com-Ports - zweistellige Ports? Allgemeine Java-Themen 15
O MVC - wo Liste der ComboBox-Items ermitteln Allgemeine Java-Themen 3
MiMa Liste von Pfaden in eine textArea schreiben Allgemeine Java-Themen 7
K kontinuierlich aktuelle Bestellsystem-Liste mit farbigem Status Allgemeine Java-Themen 2
A Auswählbare Liste Allgemeine Java-Themen 2
D Sortieren von Liste zu unperformant Allgemeine Java-Themen 6
N Liste gesucht Allgemeine Java-Themen 2
S Probleme beim Auslesen einer Liste Allgemeine Java-Themen 8
O JSON String bauen aus Liste Allgemeine Java-Themen 2
M Über Liste verschiendene JComponents mit eigenem implementierten Interface ansprechen Allgemeine Java-Themen 7
T Hashmap mit geordneter/ungeordneter liste als Value Allgemeine Java-Themen 5
D Zugriff auf Array-Liste Allgemeine Java-Themen 19
S Threads Liste mit Objekten in Teillisten zerlegen und abarbeiten Allgemeine Java-Themen 3
R ThreadPool - vorhandene thread liste überprüfen bzw. aufräumen Allgemeine Java-Themen 3
pg1337 Liste füllen Allgemeine Java-Themen 2
U Große Liste von Strings mit indiziertem Zugriff Allgemeine Java-Themen 31
B Properties File Liste Allgemeine Java-Themen 3
Gossi Collections Liste zusammenfassen für JSP Allgemeine Java-Themen 4
Gossi Collections (Unbekannte) Liste Sortieren Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben