Hilfe, LinkedList

abc66

Top Contributor
Bin gerade bei, eine LinkedList selber zu schreiben, um sie später zu invertieren. Aber eine Ausgabe ist noch falsch. Könnt ihr mir helfen?

Java:
package ownjavalinkedlist.ownjavalinkedlist;

import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class OwnJavaLinkedList<T> implements List<T> {
	OwnJavaLinkedList<T> end = this;
	OwnJavaLinkedList<T> next = null;
	OwnJavaLinkedList<T> prev = null;
	T t1 = null;
	boolean empty = true;

	public static void main(String[] args) {
		OwnJavaLinkedList<Integer> ll = new OwnJavaLinkedList<Integer>();
		ll.add(1);
		ll.add(2);
		ll.add(3);
		System.out.println(ll.contains(2));
		System.out.println(ll.contains(3));
		System.out.println(ll.contains(1));
		System.out.println(ll.contains(0));
		ll.remove((Object) 2);
		System.out.println(ll.contains(2));
		System.out.println(ll.contains(3));
		System.out.println(ll.contains(1));
		System.out.println(ll.contains(0));
		ll.remove((Object) 3);
		System.out.println(ll.contains(2));
		System.out.println(ll.contains(3));
		System.out.println(ll.contains(1));
		System.out.println(ll.contains(0));
		ll.remove((Object) 1);
		System.out.println(ll.contains(2));
		System.out.println(ll.contains(3));
		System.out.println(ll.contains(1));
		System.out.println(ll.contains(0));
		System.out.println();
		ll.add(2);
		ll.add(3);
		System.out.println(ll.contains(2));
		System.out.println(ll.contains(3));
		ll.remove((Object) 2);
		ll.add(4);
		System.out.println(ll.contains(2));
		System.out.println(ll.contains(3)); // hier sollte 'true' ausgegeben werden
		System.out.println(ll.contains(4));
		ll.remove((Object) 3);
		ll.remove((Object) 4);
		System.out.println(ll.isEmpty());
	}

	public int size() {
		int a = 0;
		OwnJavaLinkedList<T> c = this;
		while (c != null) {
			a++;
			c = c.next;
		}
		return a;
	}

	public boolean isEmpty() {
		return empty;
	}

	public boolean contains(Object o) {
		OwnJavaLinkedList<T> c = this;
		while (c != null) {
			if (o.equals(c.t1))
				return true;
			c = c.next;
		}
		return false;
	}

	public Iterator<T> iterator() {
		return new Iterator<T>() {
			OwnJavaLinkedList<T> c = OwnJavaLinkedList.this;

			public boolean hasNext() {
				return c.empty;
			}

			public T next() {
				T t = c.t1;
				c = c.next;
				return t;
			}
		};
	}

	public Object[] toArray() {
		// TODO
		return null;
	}

	public <T> T[] toArray(T[] a) {
		// TODO
		return null;
	}

	public boolean add(T e) {
		if (empty || end.empty) {
			t1 = e;
			empty = false;
		} else {
			end.next = new OwnJavaLinkedList<T>();
			end.next.prev = end;
			end.next.t1 = e;
			end.next.empty = false;
			end = end.next;
		}
		return true;
	}

	public boolean remove(Object o) {
		OwnJavaLinkedList<T> c = this;
		while (c != null) {
			if (o.equals(c.t1)) {
				if (c == this) {
					clear();
				} else {
					if (c.prev != null)
						c.prev.next = c.next;
					if (c.next != null)
						c.next.prev = c.prev;
					if (c == end)
						end = c.prev;
				}
				return true;
			}
			c = c.next;
		}
		return false;
	}

	public boolean containsAll(Collection<?> c) {
		// TODO
		return false;
	}

	public boolean addAll(Collection<? extends T> c) {
		// TODO
		return false;
	}

	public boolean addAll(int index, Collection<? extends T> c) {
		// TODO
		return false;
	}

	public boolean removeAll(Collection<?> c) {
		// TODO
		return false;
	}

	public boolean retainAll(Collection<?> c) {
		// TODO
		return false;
	}

	public void clear() {
		end = this;
		next = null;
		prev = null;
		t1 = null;
		empty = true;
	}

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

	public T set(int index, T element) {
		// TODO
		return null;
	}

	public void add(int index, T element) {
		// TODO

	}

	public T remove(int index) {
		// TODO
		return null;
	}

	public int indexOf(Object o) {
		// TODO
		return 0;
	}

	public int lastIndexOf(Object o) {
		// TODO
		return 0;
	}

	public ListIterator<T> listIterator() {
		// TODO
		return null;
	}

	public ListIterator<T> listIterator(int index) {
		// TODO
		return null;
	}

	public List<T> subList(int fromIndex, int toIndex) {
		// TODO
		return null;
	}
}
 

httpdigest

Top Contributor
Das Problem ist in deiner remove(Object) Implementierung. Wenn der zu entfernende Wert gleich am Anfang der Liste ist, clear()-st du die Liste einfach, statt das erste Listenelement nur auszuhängen:
Java:
public boolean remove(Object o) {
    OwnJavaLinkedList<T> c = this;
    while (c != null) {
        if (o.equals(c.t1)) {
            if (c == this) { // <- ist true für das erste Element
                clear(); // <- FALSCH!
In Zukunft einfach einen Debugger verwenden, und die Methodenaufrufe step-by-step durchgehen. Damit findest du solche Fehler in null-komma-nix. Damit habe ich den Fehler auch in ungefähr 10 Sekunden gefunden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Hilfe bei verknüpfter Liste - Linkedlist Java Basics - Anfänger-Themen 11
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
E Hilfe bei rekursiver Funktion Java Basics - Anfänger-Themen 3
H pdf stempel - Hilfe erbeten Java Basics - Anfänger-Themen 6
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
F RegEx Hilfe Java Basics - Anfänger-Themen 5
S Hilfe bei Endlosschleife Java Basics - Anfänger-Themen 2
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
U Ich bräuchte Hilfe Java Basics - Anfänger-Themen 1
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
aero043 Hilfe bei BlueJ Hausübung Java Basics - Anfänger-Themen 27
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
P Hilfe gesucht Java Basics - Anfänger-Themen 11
D Hilfe bei Calculator Test Java Basics - Anfänger-Themen 15
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
R Java Bücher hilfe Java Basics - Anfänger-Themen 9
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
I Scheduling: "Quartz" verwenden, Hilfe bei Umstellung Java Basics - Anfänger-Themen 3
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
Ekooekoo Hilfe spiel Java Basics - Anfänger-Themen 5
SpiritsHuner Hilfe!! Java Basics - Anfänger-Themen 16
Lacotto Java Kurs Aufgaben Hilfe Java Basics - Anfänger-Themen 14
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
Neuling47 Denkfehler? Hilfe Java Basics - Anfänger-Themen 11
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
D Bitte um Hilfe muss es schnellstmöglich erledigen Java Basics - Anfänger-Themen 15
L Hilfe bei RegEx Java Basics - Anfänger-Themen 4
I Bitte um Hilfe zu unterstehenden Code Java Basics - Anfänger-Themen 6
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
Neuling47 bräuchte dringend hilfe Java Basics - Anfänger-Themen 6
D Bräuchte Hilfe im Bezug zum printarray() Java Basics - Anfänger-Themen 4
M Bitte um Hilfe bei 2DArrays Java Basics - Anfänger-Themen 8
HeiTim Array hilfe Java Basics - Anfänger-Themen 14
M LCD-Ziffern-Hilfe Java Basics - Anfänger-Themen 6
özkan hilfe!! Java Basics - Anfänger-Themen 4
C Hilfe bei einem Anfängerprojekt Java Basics - Anfänger-Themen 25
D Abrechnung bitte um hilfe Java Basics - Anfänger-Themen 25
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6
N Hilfe bei der Installation Java Basics - Anfänger-Themen 2
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
S Hilfe bei Programmierung einer Hotelabrechnung Java Basics - Anfänger-Themen 5
enjoykimii Strukturierte Programmierung Hilfe Java Basics - Anfänger-Themen 29
H Bräuchte hilfe Java Basics - Anfänger-Themen 3
D Snake-Spiel ähnliche Aufgabe Hilfe Java Basics - Anfänger-Themen 3
H Brauche Hilfe Java Basics - Anfänger-Themen 2
D Dijkstra Algorithmus Hilfe!! Java Basics - Anfänger-Themen 9
H Hilfe Java Basics - Anfänger-Themen 6
H Brauche hilfe Java Basics - Anfänger-Themen 3
M Hilfe - Array Aufgabe Java Basics - Anfänger-Themen 8
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
kevkev Hilfe bei Schiffe versenken Java Basics - Anfänger-Themen 5
FelixxF Erste Schritte Hilfe bei Fußball Manager Java Basics - Anfänger-Themen 2
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
josfe1234 Hilfe access denied ("java.io.FilePermission" " " "read") Java Basics - Anfänger-Themen 12
Vivien Hilfe bei Type Conversion Java Basics - Anfänger-Themen 3
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
J Doppelt verkette Liste ich bitte um Hilfe Java Basics - Anfänger-Themen 4
N Laufzeitberechnung - dringende Hilfe! Java Basics - Anfänger-Themen 1
G Java Hilfe Java Basics - Anfänger-Themen 3
J Java List, Bitte um Hilfe Java Basics - Anfänger-Themen 15
J Java List, bitte um Hilfe Java Basics - Anfänger-Themen 3
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
A Schleifen, Hilfe! Java Basics - Anfänger-Themen 6
LeonDerStudent Hilfe bei Uniprojekt Java Basics - Anfänger-Themen 2
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
Kapfski Was habe ich falsch gemacht? Hilfe! Java Basics - Anfänger-Themen 17
R Java (Eclipse) "Lagerverwaltung" HILFE Java Basics - Anfänger-Themen 13
M Bräuchte Hilfe bei diesen Methoden Java Basics - Anfänger-Themen 4
dieter000 Aufgabe Hilfe Java Basics - Anfänger-Themen 18
Gaudimagspam Dringend Java Hilfe benötigt Java Basics - Anfänger-Themen 19
jonathanpizza Hilfe bei einer Übungsaufgabe Java Basics - Anfänger-Themen 6
dieter000 Hilfe bei dem Beispiel, wie gehe ich sowas am besten an? Java Basics - Anfänger-Themen 32
jonathanpizza Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
Q Hilfe auf Aufgabe(Matrixmultiplikation) Java Basics - Anfänger-Themen 1
jonathanpizza Hilfe bei der Aufgabe Java Basics - Anfänger-Themen 19
pry bitte Hilfe beim Kreditrechner objektorientiert Java Basics - Anfänger-Themen 6
R Hilfe bei removeduplicates Java Basics - Anfänger-Themen 5
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11
marcooooo einmal noch schnell hilfe bitte:/ Java Basics - Anfänger-Themen 2
Q Hilfe bei Hausaufgeben Java Basics - Anfänger-Themen 2
J Hilfe beim Label animieren Java Basics - Anfänger-Themen 1
S Hilfe Java Basics - Anfänger-Themen 1
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
Kawastori Hilfe bei Methoden Übung Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben