Binärbaum und Wrapperklassen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo =)

es geht darum in einen Binärbaum Objekte speichern zu können. Das läuft auch soweit.
Desweiteren soll man mittels einer Wrapperklasse auch Intwerte hineinspeichern können.

Jeder Knoten hat ein Element das als value ein OBjekt speichert.
Nun gibt es eine Klasse IntElement (die Wrapperklasse) die für die Intwerte zuständig sein soll und die Klasse Element beerbt.


Beide Klassen beinhalten eine Methode Compare die letztendlich dafür zuständig ist ein Element mit dem anderen zu vergleichen sodass der Baum überhaupt aufgebaut werden kann.

Das problem ist nun das beim Aufbau eines solchen Baumes mit intwerten der Compiler automatisch die Comparemethode von Element aufruft (die ein Objekt aufnimmt) und nicht die Comparmethode von IntElement (die ein Integer aufnimmt) aufruft.

Das führt dazu das der Baum falsch aufgebaut wird.
Wie kann ich es nun gewährleisten das bei einem Intwert die richtige Comparemethode aufgeruft wird?


VIelen dank schonmal...

viele Grüße

Sythus
 
G

Guest

Gast
Class:Element

Code:
package tree.binary;

public class Element {
	public Object value;
	
	public Element(Object value) {
		this.value = value;
	}
	
	public void setValue(Object value) {
		this.value = value;
	}
	
	public Object getValue() {
		return this.value;
	}
	
	public int compareTo(Object value) {
		if(this.value.equals(value))
			return 0;
		else
			return 1;
	}
}

Wrapperclass: IntElement

Code:
package tree.binary;

public class IntElement extends Element {
	public Integer value;
	
	public IntElement(Integer value) {
		super(value);
		// TODO Auto-generated constructor stub
	}
	
	public void setValue(Integer value) {
		this.value = value;
	}
	
	public Object getValue() {
		return this.value;
	}
	
	
	public int compareTo(Integer value) {
		System.out.print("Huhu");
		if(this.value == value)
			return 0;
		else if(this.value < value)
			return -1;
		else
			return 1;
	}

}

Ein Node hat wie gesagt ein Element...
ist das Element ein intElement sollte er die compareTo Methode aus IntElement nehmen, tut er aber nicht


:?:

danke schonmal
 

Pappenheimer++

Bekanntes Mitglied
Hy, die Methoden haben ja auch unterschiedliche Signaturen (die eine erwartet ein Object, die andere ein Integer), d.h. es wird nichts überschrieben, sondern stattdessen hast du beide Methoden zur Verfügung!

Es sei übrigens mal angemerkt, dass sich mir der Sinn der beiden untenstehenden Klassen nicht erschließt, da sie überhaupt keine Funktion bieten. Wenn du einen Binärbaum schreibst, kannst du doch als Elemente einfach (comparable-)Objekte nehmen und brauchst die nicht so komisch zu wrappen. Aber wenn du das des Lerneffekts wegen gemacht hast, kannst du den Absatz hier natürlich ignorieren ^^
 
G

Gast

Gast
die Methoden sind halt letztendlich dazu da um objekte oder intwerte zu vergleichen... bei der Elementklasse die eigentlich objekte vergeleichen soll ist das compareTo sinnfrei da ich nich weiß wie ich objekte vergleichen sollte ^^

Wie krieg ich es aber denn nun hin das wenn ein intElement in einem Node ist das er dann auch die CompareMethode von IntElement nimmt und nicht die von Element??

Sonst wird der Baum nämlich vollkommen falsch aufgebaut-....
 

Marco13

Top Contributor
Seit Java 1.5 kann man da Generics verwenden
Code:
class Element<ValueType> ...
{
    private ValueType value;
    ...
}
und die dann entsprechend so erstellen
Element<Integer> element = new Element<Integer>(123);

Die Elements sollten zusätzlich Comparable sein oder jeweils Comparator für den ValueType implementieren. Schau mal hier
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Comparator.html
und hier
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Comparable.html
und sag' bescheid, wenn das nicht hilft.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y Wie greift man auf die Knoten in einem Binärbaum zu? Java Basics - Anfänger-Themen 5
T Binärbaum-Suche Implementation Java Basics - Anfänger-Themen 6
A Binärbaum rekursiv durchsuchen und Referenz zurückgeben Java Basics - Anfänger-Themen 4
D Werte aus einem BinärBaum in einem Array speichern Java Basics - Anfänger-Themen 1
D Binärbaum Blätter finden und Ausgeben Java Basics - Anfänger-Themen 22
O BinärBaum einfügen Java Basics - Anfänger-Themen 13
E Erste Schritte Testklasse Binärbaum Java Basics - Anfänger-Themen 10
void19 Methoden Binärbaum Inorder Traversierung in Array speichern Java Basics - Anfänger-Themen 1
A Größten Eintrag aus Binärbaum löschen Java Basics - Anfänger-Themen 4
L Ganzen BinärBaum ausgeben? Java Basics - Anfänger-Themen 3
L Binärbaum (Stammbaum) Java Basics - Anfänger-Themen 8
S Binärbaum in PreOrder in ArrayList speichern Java Basics - Anfänger-Themen 0
J Methoden Binärbaum, Traversierung in Array speichern Java Basics - Anfänger-Themen 18
K BinärBaum Java Basics - Anfänger-Themen 4
J Max. Anzahl von Knoten im Binärbaum Java Basics - Anfänger-Themen 3
M Werte der Knoten in Binärbaum addieren (iterativ) Java Basics - Anfänger-Themen 6
C Binärbaum mit grafischer Ausgabe Java Basics - Anfänger-Themen 0
J Binärbaum formatiert ausgeben. Java Basics - Anfänger-Themen 7
P Listen sortieren mit Binärbaum gibt keine Ausgabe ab 10000 Integern Java Basics - Anfänger-Themen 14
E Binärbaum - von rekursiv zu iterativ Java Basics - Anfänger-Themen 10
W Größtes Element im unsortierten Binärbaum Java Basics - Anfänger-Themen 7
N Generischer Binärbaum - löschen Java Basics - Anfänger-Themen 1
M Binärbaum mit parent-Zeigern Java Basics - Anfänger-Themen 1
B Methoden BinärBaum als String Knoten löschen Java Basics - Anfänger-Themen 5
S Binärbaum kopieren Java Basics - Anfänger-Themen 6
B Binärbaum mit java implementieren! Java Basics - Anfänger-Themen 5
D Binärbaum Suche Java Basics - Anfänger-Themen 5
D Binärbaum probleme Java Basics - Anfänger-Themen 4
P Binärbaum - Primärschlüssel Java Basics - Anfänger-Themen 3
X Fehler Binärbaum Java Basics - Anfänger-Themen 6
PaulG Fragen zu Binärbaum Java Basics - Anfänger-Themen 21
N Binärbaum/Implementierung Java Basics - Anfänger-Themen 9
P Binärbaum Ordnungsproblem Java Basics - Anfänger-Themen 8
P Generischer Binärbaum (compareTo Frage) Java Basics - Anfänger-Themen 4
P einen binärbaum implementieren Java Basics - Anfänger-Themen 4
M Binärbaum - Problem bei Knoten anhängen / löschen Java Basics - Anfänger-Themen 5
B Binärbaum höhe herausfinden Java Basics - Anfänger-Themen 12
L Rot Scharz Baum von Binärbaum erben Java Basics - Anfänger-Themen 9
S Klassen Aufgabe: Binärbaum überprüfen Java Basics - Anfänger-Themen 16
S Binärbaum Java Basics - Anfänger-Themen 9
S Variable Parameterliste in Binärbaum Java Basics - Anfänger-Themen 2
N BinärBaum Hilfestellung Java Basics - Anfänger-Themen 8
S Binärbaum prüfen, ob sortiert oder unsortiert Java Basics - Anfänger-Themen 6
W Binärbaum zahlen addieren Java Basics - Anfänger-Themen 7
S Binärbaum - Klasse Knoten - Methode Suchen Java Basics - Anfänger-Themen 5
S Binärbaum Java Basics - Anfänger-Themen 7
I Binärbaum Java Basics - Anfänger-Themen 5
S Bitte um Hilfe beim unsortierten Binärbaum!! Java Basics - Anfänger-Themen 6
J Binärbaum getSize Java Basics - Anfänger-Themen 4
P Fragen zum Binärbaum Java Basics - Anfänger-Themen 3
S Binärbaum implementieren Java Basics - Anfänger-Themen 6
K Tiefe im Binärbaum Java Basics - Anfänger-Themen 2
G generischer binärbaum Java Basics - Anfänger-Themen 9
F Binärbaum codieren. Codeproblem! Java Basics - Anfänger-Themen 4
D rekursion im binärbaum Java Basics - Anfänger-Themen 11
0 Binärbaum als verkettete Liste Java Basics - Anfänger-Themen 3
T Binärbaum - noch ein "klitzekleiner Fehler" Java Basics - Anfänger-Themen 4
B Binärbaum auf Vollständigkeit prüfen Java Basics - Anfänger-Themen 15
G Frage zur einfügen in einem Binärbaum Java Basics - Anfänger-Themen 21
G Binärbaum grafisch darstellen Java Basics - Anfänger-Themen 4
H Fragen zu Wrapperklassen Java Basics - Anfänger-Themen 29
P Datentypen, Klassen, Operatoren, Wrapperklassen Java Basics - Anfänger-Themen 2
K Datentypen Wrapperklassen Java Basics - Anfänger-Themen 6
S ArrayList - WrapperKlassen - PROBLEM Java Basics - Anfänger-Themen 25

Ähnliche Java Themen

Neue Themen


Oben