DoubleLinkedList ausgeben

Status
Nicht offen für weitere Antworten.
N

neulingthomas

Gast
hey!
meine aufgabe war aus einem vorgebenen interface die dort enthaltenenen methoden zu implementieren, wobei ich auch noch nichma weiß ob da alles so stimmt:
Code:
public void addElement(Object o) {
    	reverse();
    	addFirst(o);
    	reverse();
    	count ++;
        }

    public void addFirst(Object o) {
        if (this.isEmpty())
            this.head = this.tail = new Node(o, null, null, this.index);
        else {
            this.head.setPreviousNode(
		     new Node(o, null, this.head, this.index));
            this.head = this.head.getPreviousNode();
        }
        count ++;
    }

	public void clear() {
		count=0;
	}

	public Object getElement(int index) {
		Node zeiger=this.head;
		for (int i=0; i<index; i++)
			zeiger=zeiger.getNextNode();
		return zeiger;
	}

	public Object getFirstElement() {
		return this.head;
	}

	public Object getLastElement() {
		return this.tail;
	}

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

	public void insert(Object element, int position) throws Exception {
		Node hilfe=new Node (null, null, null, this.index);
		Node neu=new Node (element, null, null, null);
		neu.setPreviousNode(hilfe);
		neu.setNextNode(hilfe.getNextNode());
		hilfe.getNextNode().setPreviousNode(neu);
		hilfe.setNextNode(neu);
		this.count++;
	}

	public boolean isEmpty() {
		return (this.head == null);
	    }

	public Object removeElement(int index) {
		Node ersatz=new Node(null, null, null, this.index);
		ersatz.getNextNode().setPreviousNode(ersatz.getPreviousNode());
		ersatz.getPreviousNode().setNextNode(ersatz.getNextNode());
		this.count--;
		return ersatz.getContent();
	}

	public int size() {
		return count;
	}

	public Object[] toArray() {
		int k=0;
		Object[] objs = new Object [size()];
		for (int j=0; j<objs.length; j++)
			{
			objs[j]=getElement(k);
			k++;
			}
		return objs;

	}

	/* reverses the list */
    public void reverse() {
	Node tmp = this.head;
	this.head = this.tail;
	this.tail = tmp;
	this.index.toggle();
    }

so, mein problem ist folgendes, das eine test-datei, die die methoden testen soll, keine listenelemente ausgibt sondern nur so eine meldung: DoubleLinkedList@9304b1

quellcode der datei "test":
Code:
public class Test {

	public static void main(String[] args) {
		int n=0;
		DoubleLinkedList list=new DoubleLinkedList();
		list.addFirst(new String ("Hallo"));
		list.addElement(new String("Welt"));
		list.toArray();
		
		System.out.println(list);
	}

}

was fehlt ihm, noch irgendwas tostring oder sowas, und wenn ja wie?
danke im voraus schon mal!
 

Ark

Top Contributor
Code:
import java.util.Arrays;

…

System.out.println(Arrays.deepToString(list.toArray()));
Achte aber, nebenbei gesagt, auch auf Typsicherheit. Außerdem verfällt der Rückgabewert von list.toArray() sofort, wenn du ihn nicht irgendwo speicherst, oder eben wie in meinem Beispiel, direkt ausgibst. Noch etwas: Dein list zeigt nur auf ein Objekt, auch wenn dieses selbst mehrere beinhaltet. Das Interface List schreibt nicht vor, wie List.toString() zu implementieren ist, darum erben Implementierungen von List die toString-Methode wahrscheinlich von Object.

Ark
 
S

SlaterB

Gast
wenn
System.out.println(list);
klappen soll, dann toString() überschreiben, ja,
alternativ kannst du aber auch eine beliebige eigene Operation gibBeschreibung() definieren und
System.out.println(list.gibBeschreibung());
aufrufen


ja und was da drinstehen soll in der Beschreibung musst du nun selber wissen ;)

z.B.
String st = "Ich bin eine Liste, this.head ist: "+this.head;
return st;


usw., kannst du um beliebige Infos erweitern,
vielleicht auch toString() von this.head überschreiben,
dann stehst du wieder vor der gleichen Aufgabe, nur bei einer anderen Klasse
 
N

neulingthomas

Gast
sorry, ich konnte dir nicht folgen... was muss ich denn jetzt alles zu "tostring" konvertieren?
dieses "string st=..." usw, das wollte ich doch durch list.addfirst erreichen...
 
S

SlaterB

Gast
> was muss ich denn jetzt alles zu "tostring" konvertieren?

das musst du wissen,
der einfachste Fall ist
return "List",
enthält aber wenig Infos..,
alles was du an Infos drin haben willst, musst du reinschreiben,

ich weiß nicht was du an Infos drin haben willst..
 
N

neulingthomas

Gast
reden wir aneinander vorbei oder bin ich son anfänger das ich gar nix peil... nochma ne zusammenfassung: ich möchte mit der test-datei meine DoubleLinkedList-methoden testen, hab mir 2 rausgepickt und will diese nun ausgeben lassen. das geht aber nich weil ich irgendwas noch "tostring" machen soll.
an den befehlen die ich habe wird doch nix geändert, oder? soll ich einfach "list.toString()" machen? oh gott bin ich verwirrt.... sorry...
 
S

SlaterB

Gast
> hab mir 2 [Operationen] rausgepickt und will diese nun ausgeben lassen

Operationen kann man nicht ausgeben, verstehe ich nicht

> an den befehlen die ich habe wird doch nix geändert, oder?

ich denke nicht, was immer du auch meinst

> soll ich einfach "list.toString()" machen?

den Aufruf hast du schon, du musst nun die Operation implementieren so dass sie etwas anderes als den Standard (DoubleLinkedList@9304b1 ) zurückgibt
 
N

neulingthomas

Gast
ah, jetz kommen wir dem doch wieder näher. btw, ich meinte damit, das ich das ergebnis meiner methoden ausgeben möchte um zu gucken, ob sie funzen.
ich soll also eine toString methode schreiben, die statt des default-wertes einen richtigen wert zurückgibt.
da meine aufforderung "list.toString" ist, soll er also jedes einzelne listen-element als string umwandeln. was ist dann aber der rückgabewert? "this.content" oder sowas? mein eclipse macht mir keine gescheiten lösungsvorschläge...
 

Ark

Top Contributor
neulingthomas hat gesagt.:
ich soll also eine toString methode schreiben, die statt des default-wertes einen richtigen wert zurückgibt.
Und genau darum geht es: Woher auch soll denn der Rechner wissen, was richtig und was falsch ist? Genau das musst du ihm sagen. ;)

Ark
 
N

neulingthomas

Gast
und das möchte ich auch, ich möchte das er den inhalt der liste zurückgibt. aber momentan steh ich aufm schlauch meinem lieben rechner dies mitzuteilen... :(
 

Ark

Top Contributor
In deiner Liste sind doch Objekte eines ganz bestimmten Typs drin. (Es sollte zumindest genau ein Typ sein, siehe dazu auch Generics seit Java 5) Da das ja Objekte sind, ist ja garantiert, dass sie alle auch die Methode toString() besitzen. Die Standardimplementierung, die den bisherigen Quark ausgibt, steht so in der Klasse Object beschrieben. Wenn du nun meinst, diese Darstellung wäre Müll (also man könne den wesentlichen Inhalt des Objektes auch sinnvoller als String darstellen), dann brauchst du nur die Methode toString() in der Klasse überschreiben, deren Instanzen sich in deiner Liste befinden.

Das sei der erste Schritt. Mach erst mal den. ;)

Ark
 
N

neulingthomas

Gast
was ich in der klasse object finde is sowas kompliziertes:

getClass().getName() + '@' + Integer.toHexString(hashCode())

und das was ich verstanden habe ist in etwa sowas:

Code:
public class Test{

	public static void main(String[] args) {
		DoubleLinkedList list=new DoubleLinkedList();
		list.addFirst(new String ("Hallo"));
		list.addElement(new String("Welt"));
		list.toString();
		System.out.println(list);
	}
}


???:L
 
S

SlaterB

Gast
list.toString(); liefert einen String zurück,
diese Operation einfach so aufzurufen macht keinen Sinn,

System.out.println(list.toString());
wäre sinnvoll, aber das machst du schon, denn
System.out.println(list);
bedeutet genau das gleiche, intern wird dort toString() aufgerufen

immer noch fehlt die Operation toString() in deiner Liste,
die musst du erst noch schreiben..
 
N

neulingthomas

Gast
und wie ich bereits mehrmals sagte, weiß ich nich, was der rückgabewert meiner selbstgeschriebenen methode toString sein soll
 
S

SlaterB

Gast
und warum erzählst du das hier?

was soll dir irgendjemand auf der Welt auf die Frage
'ich will was machen, weiß aber nicht was und wie' antworten?

selbst wenn du das wie noch nicht kennst, so musst du doch wenigstens beschreiben, was du haben willst..

wenn dir 'DoubleLinkedList@9304b1' nicht gefällt, was willst du stattdessen?
'A'?
oder 'B'?
oder 'C'?
oder 'D'?
oder gar 'E'?
oder mal eine Zahl? '1'?

ich zähle jetzt mal nicht alle denkbaren Worte der Welt auf,
und überlasse nun DIR, zu überlegen, was DU eigentlich willst ;)
 
N

neulingthomas

Gast
ok, du machst dich über mich lustig, aber wenn du mal lesen würdest WAS ich ausgeben will würdest du solche merkwürdigen bemerkungen nich machen. in meinem quelltext steht das ich der liste einen kopf "hallo" und ein ende "welt" hinzufüge. und dann will ich die liste ausgeben. frage an dich: was will ich also ausgegeben bekommen, hm? evtl "hallo welt"?
 
S

SlaterB

Gast
schaue dir mein erstes Post an, da hatte ich bereits

String st = "Ich bin eine Liste, this.head ist: "+this.head;
return st;

vorgeschlagen...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A DoubleLinkedList Allgemeine Java-Themen 32
kodela StatusBar-Anzeigen auch in Log-Datei ausgeben Allgemeine Java-Themen 3
M Quicksort Rang ausgeben Allgemeine Java-Themen 2
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
_user_q Eingegebenen Text Zeile für Zeile ausgeben lassen Allgemeine Java-Themen 11
BeginnerJava Anzahl der 5 % - Zuwächse ausgeben Allgemeine Java-Themen 6
I Wie kann ich den Wert aus einer If abfrage ausgeben Allgemeine Java-Themen 23
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
R0m1lly BinärBaum auf Konsole ausgeben Allgemeine Java-Themen 9
R Sonderzeichen aus Datei einlesen und in Datei ausgeben. Allgemeine Java-Themen 17
el_niiinho13 Objekt auf der Konsole ausgeben lassen Allgemeine Java-Themen 8
H Collections Aktuellen Index generell und nach Sortierung ausgeben Allgemeine Java-Themen 6
S Wörterliste nach Wörtern mit u durchsuchen und diese auf der Konsole ausgeben lassen Allgemeine Java-Themen 33
B OOP HashSet sortiert ausgeben Allgemeine Java-Themen 11
N Eine stelle der Fibonacci-Zahlenfolge ausgeben. Allgemeine Java-Themen 4
M Bei String.format ein Komma statt einem Punkt ausgeben lassen Allgemeine Java-Themen 1
G Excel Datum richtig auf der Konsole ausgeben Allgemeine Java-Themen 1
D Erste Schritte Arrays vergleichen und die zahlen die nur einmal vorkommen ausgeben Allgemeine Java-Themen 5
M Töne mit Java ausgeben Allgemeine Java-Themen 1
VfL_Freak Double mit zwei festen NK-Stellen ausgeben Allgemeine Java-Themen 9
ralfb1105 Java LogManager property bestimmen/ausgeben Allgemeine Java-Themen 1
R .txt Datei einlesen und auf der Konsole ausgeben lassen Allgemeine Java-Themen 11
B Schlossknacker (Jede mögliche Zahlenkombination ausgeben) Allgemeine Java-Themen 18
heinz ketchup String im JLabel ausgeben und erneuern Allgemeine Java-Themen 6
L Input/Output Wie kann man in der Konsole einen Text farbig ausgeben z.b in grün Allgemeine Java-Themen 6
L CSV File lesen, in ArrayList speichern und ausgeben Allgemeine Java-Themen 3
G Array ohne Aufzählungszeichen ausgeben Allgemeine Java-Themen 6
J Wie kann ich ein Java Array als Säulendiagramm ausgeben? Allgemeine Java-Themen 2
G Iteratoren - Wie kann man mithilfe von Iteratoren nur jeden zweiten Wert eines TreeSets ausgeben? Allgemeine Java-Themen 4
B Java Sternchen ausgeben mittels Rekursion Allgemeine Java-Themen 3
GreenTeaYT Elemente eines 2Dim LinkedList von links nach rechts ausgeben? Allgemeine Java-Themen 0
J Ausgabe von Links nach Rechts ausgeben? Allgemeine Java-Themen 2
D Returnwert aus einer Methode gerundet ausgeben lassen Allgemeine Java-Themen 2
B Fortschritt beim Schreiben einer Datei ausgeben lassen Allgemeine Java-Themen 7
FunnyO KeyEvent.VK_ + int i, ausgeben mit Bot möglich? Allgemeine Java-Themen 2
L Java-Programm Zahlenkombinationen ausgeben Allgemeine Java-Themen 10
stylegangsta Mehrere html seiten einer Homepage einlesen und als Textdatei ausgeben Allgemeine Java-Themen 14
F Namen des Interfaces ausgeben Allgemeine Java-Themen 1
S 2-spaltige Ausgabe als Tabelle ausgeben Allgemeine Java-Themen 12
M liste von listen anders ausgeben Allgemeine Java-Themen 1
R jTable, nur Werte zwischen 2 Double values ausgeben Allgemeine Java-Themen 3
F String nach Schlüsselwörtern durchsuchen und ganze Zeile ausgeben Allgemeine Java-Themen 4
C pfad vom Image ausgeben lassen Allgemeine Java-Themen 5
U Koordinaten alle Pixel eines Dreiecks zeichnen ausgeben Allgemeine Java-Themen 5
J String verarbeiten und ausgeben Allgemeine Java-Themen 8
F for-Schleife auf Kommandoebene ausgeben Allgemeine Java-Themen 9
X System.out/err(Die Console) in JTextArea ausgeben Allgemeine Java-Themen 2
B Zahlen ausgeben hilfe! Allgemeine Java-Themen 8
A Auslesen einer Datei sowie ausgeben als Liste in App Allgemeine Java-Themen 5
R Int werte vergleichen und Anzahl Paare ausgeben Allgemeine Java-Themen 4
D Name eines Nicht-String Objekts ausgeben Allgemeine Java-Themen 4
B Java Mail Client als Outlook ausgeben Allgemeine Java-Themen 2
E Boolean aus Klasse A als String in Klasse B ausgeben Allgemeine Java-Themen 4
H Unicode ausgeben ohne Umwandlung - geht das? Allgemeine Java-Themen 3
J Internettextdatei auslesen und als String ausgeben Allgemeine Java-Themen 2
AssELAss XML Datei einlesen und anschließen formatiert ausgeben in Datei Allgemeine Java-Themen 0
A Datentypen Dateien umbenennen mit Dateiendungen - Dateiendungen ausgeben Allgemeine Java-Themen 2
S String mit Matcher.find durchsuchen und ausgeben Allgemeine Java-Themen 7
A Java Verzeichnisse in Combobox Ausgeben JAVA Allgemeine Java-Themen 3
0 Lösungsweg Client Server Kommunikation Fehlermeldung ausgeben Allgemeine Java-Themen 12
A Selbsterstellte 404-Seiten bestimmen, die sich als 200 ausgeben Allgemeine Java-Themen 8
B Binaräres Format in Dezimalformat umwandeln u. dabei die Zwischenschritte ausgeben Allgemeine Java-Themen 3
M JExcel Wert aus Zelle übergeben/ausgeben Allgemeine Java-Themen 2
M RegEx alle Matches ausgeben Allgemeine Java-Themen 5
A Sinuston ausgeben und über Mikro Amplitude messen – machbar? Allgemeine Java-Themen 6
B TreeSet-Ausgeben Allgemeine Java-Themen 8
P Werte in Array zählen und Summe der einzelnen Teile ausgeben Allgemeine Java-Themen 10
G Jar-File soll eignen *.jar Namen ausgeben Allgemeine Java-Themen 10
N Applet Apache Poi Wert einer Formel ausgeben Allgemeine Java-Themen 5
T Liste mit GregorianCalendar-Objekten in List einlesen, mit Collection sortieren und ausgeben Allgemeine Java-Themen 3
S 2D Vector speziell ausgeben. Allgemeine Java-Themen 2
A einzelne Tage als Datum ausgeben Allgemeine Java-Themen 6
R FileChooser soll nur das File ausgeben Allgemeine Java-Themen 4
A Java Projekt (Daten Eingeben, Speichern und in Listen Ausgeben) Allgemeine Java-Themen 6
Semox "Gute" Rückgaben von bash Shell ausgeben Allgemeine Java-Themen 4
E Variable dynamisch ausgeben Allgemeine Java-Themen 5
O Problem beim Ausgeben von Arrays Allgemeine Java-Themen 9
Z Java Programm - xxxxx auf der Konsole ausgeben Allgemeine Java-Themen 4
Stillmatic RegEx Matches ausgeben Allgemeine Java-Themen 10
Q Sonderzeichen Ausgeben Allgemeine Java-Themen 8
F Unterstrichenes U in Eclipse-Konsole ausgeben Allgemeine Java-Themen 10
F Ordner auslesen und in Editor ausgeben Allgemeine Java-Themen 7
H Queue ausgeben Allgemeine Java-Themen 5
T JXPanel mit seinen Komponenten auf PDF mit iText ausgeben Allgemeine Java-Themen 15
I String Array nacheinander ausgeben Allgemeine Java-Themen 7
B Array umgekehrt ausgeben Allgemeine Java-Themen 6
I Wie kann ich mehrere Mp3 Tags ausgeben? Allgemeine Java-Themen 6
Noar Datei einlesen, bearbeiten, ausgeben Allgemeine Java-Themen 5
MQue ClassLoader Pfad ausgeben Allgemeine Java-Themen 6
T MySQl Datenbank als Array ausgeben Allgemeine Java-Themen 11
T gefunden Dokumente als liste ausgeben Allgemeine Java-Themen 7
G File.listFiles nach Datum sortiert ausgeben Allgemeine Java-Themen 1
P Unicode-Sequenz (u1234) in Variable speichern und ausgeben Allgemeine Java-Themen 6
C IReport Feldberechnen und als Text ausgeben Allgemeine Java-Themen 4
R Von Java aus Browser Fenster oeffnen und Webseite ausgeben? Allgemeine Java-Themen 2
N Alle Fehler ausgeben? Allgemeine Java-Themen 4
N String array in Label ausgeben Allgemeine Java-Themen 6
M Date objekt als 00.00.0000 ausgeben Allgemeine Java-Themen 2
C Alle Bilder eines binären Arrays ausgeben Allgemeine Java-Themen 3
J Calender will nicht YEAR vernüftig ausgeben Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben