generischer binärbaum

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
hallo, also ich hab folgendes code

Code:
public class BinaryTreeNode implements BinaryNode<T> {

	private Object data;
	/** @return the data entry hold by the tree node */
	public Object getData() { 
		return data;	
	}

	private Integer key;
	/** @return the key entry associated width the tree node */
	public Integer getKey() {
		return key; 
	}
	
	private BinaryTreeNode parent = null;
	/** @return the parent of the tree node. null if the node is the root of the tree*/
	public BinaryTreeNode getParent() {
		return parent; 
	}
	/** sets the parent of the tree node.*/
	public void setParent(BinaryTreeNode newParent) {
		this.parent = newParent; 
	}
	
	
	private BinaryTreeNode left = null;
	/** @return the left child node of the tree node. null if there is no left child*/
	public BinaryTreeNode getLeft() { 
		return left; 
	}
	/** sets the left Child of the tree node.*/
	public void setLeft(BinaryTreeNode newLeft) { 
		this.left = newLeft; 
	}

	private BinaryTreeNode right = null;
	/** @return the right child node of the tree node. null if there is no right child*/
	public BinaryTreeNode getRight() { 
		return right; 
	}
	/** sets the right Child of the tree node.*/
	public void setRight(BinaryTreeNode newRight) { 
		this.right = newRight; 
	}
	
	
	
	
	/** Basic Node Constructor.
	 *  @param newKey the key who is used to find the position of the node in the tree.
	 *  @param the data stored in the tree node.
	 */
	public BinaryTreeNode(Integer newKey, Object newData) 
	{
		this.key = newKey;
		this.data = newData;
	}		
	
	
	
	@Override
	public String toString(){
		return this.key.toString() + ":" + this.data.toString();
	}
	

}


ich sollte es in eine generische klasse umwandeln u. nach der umwandlung sollen Integer u. Data nichr mehr in BinaryTreeNode auftauchen. Alle Referenzen auf andere Knoten sollen dann Referenzen auf den generischen Knotentyp sein.
danke im voraus für Tipps
 
S

SlaterB

Gast
suche nach der Buchstabenkombination I und n und t und e und g und e und r,
lösche sie und schreibe dafür den Buchstaben T hin,

und bisschen mehr ist noch zu tun,
aber bevor du so eine Aufgabe machst, weißt du ja sicher ganz genau was Generics ist
und wie man eine generische Klasse korrekt schreibt, oder?
 
G

Gast

Gast
public class BinaryTreeNode implements BinaryNode<T> {

private <T> data;
/** @return the data entry hold by the tree node */
public <T> getData() {
return data;
}

private <T> key;
/** @return the key entry associated width the tree node */
public <T> getKey() {
return key;
}

private BinaryTreeNode parent = null;
/** @return the parent of the tree node. null if the node is the root of the tree*/
public BinaryTreeNode getParent() {
return parent;
}
/** sets the parent of the tree node.*/
public void setParent(BinaryTreeNode newParent) {
this.parent = newParent;
}


private BinaryTreeNode left = null;
/** @return the left child node of the tree node. null if there is no left child*/
public BinaryTreeNode getLeft() {
return left;
}
/** sets the left Child of the tree node.*/
public void setLeft(BinaryTreeNode newLeft) {
this.left = newLeft;
}

private BinaryTreeNode right = null;
/** @return the right child node of the tree node. null if there is no right child*/
public BinaryTreeNode getRight() {
return right;
}
/** sets the right Child of the tree node.*/
public void setRight(BinaryTreeNode newRight) {
this.right = newRight;
}




/** Basic Node Constructor.
* @param newKey the key who is used to find the position of the node in the tree.
* @param the data stored in the tree node.
*/
public BinaryTreeNode( <T> newKey, <T> newData)
{
this.key = newKey;
this.data = newData;
}



@Override
public <T> toString(){
return this.key.toString() + ":" + this.data.toString();
}


}

was generics ist weiss ich, die sache dass man integer mit <T> ersetzt, war auch klar nur hab ich mich gefragt ob man das gleiche mit Data machen soll/kann?
 
S

SlaterB

Gast
> die sache dass man integer mit <T> ersetzt, war auch klar

hmm, aber das stimmt ja gerade nicht, nur T hinschreiben, nicht <T> (an den meisten Stellen, dort wo vorher Integer stand),
und weiter:
BinaryTreeNode durch BinaryTreeNode<T> ersetzen

> hab ich mich gefragt ob man das gleiche mit Data machen soll/kann

zu soll kann ich nix sagen, kann ist denkbar, U wäre der nächste Buchstabe
 
G

Guest

Gast
also soll ich so was haben

Code:
public class BinaryTreeNode<T> implements BinaryNode<T> {

	private  T data;
	/** @return the data entry hold by the tree node */
	public  T getData() { 
		return data;	
	}

	private U key;
	/** @return the key entry associated width the tree node */
	public  U getKey() {
		return key; 
	}
	
	private BinaryTreeNode <T> parent = null;
	/** @return the parent of the tree node. null if the node is the root of the tree*/
	public BinaryTreeNode <T> getParent() {
		return parent; 
	}
	/** sets the parent of the tree node.*/
	public void setParent(BinaryTreeNode <T> newParent) {
		this.parent = newParent; 
	}
	
	
	private BinaryTreeNode <T> left = null;
	/** @return the left child node of the tree node. null if there is no left child*/
	public BinaryTreeNode <T> getLeft() { 
		return left; 
	}
	/** sets the left Child of the tree node.*/
	public void setLeft(BinaryTreeNode <T> newLeft) { 
		this.left = newLeft; 
	}

	private BinaryTreeNode <T> right = null;
	/** @return the right child node of the tree node. null if there is no right child*/
	public BinaryTreeNode <T> getRight() { 
		return right; 
	}
	/** sets the right Child of the tree node.*/
	public void setRight(BinaryTreeNode <T> newRight) { 
		this.right = newRight; 
	}
	
	
	
	
	/** Basic Node Constructor.
	 *  @param newKey the key who is used to find the position of the node in the tree.
	 *  @param the data stored in the tree node.
	 */
	public BinaryTreeNode <T>( T newKey,  U newData) 
	{
		this.key = newKey;
		this.data = newData;
	}		
	
	
	
	@Override
	public  W toString(){
		return this.key.toString() + ":" + this.data.toString();
	}
	

}
 
G

Guest

Gast
tippfehler...

Code:
public class BinaryTreeNode<T> implements BinaryNode<T> {

	private  U data;
	/** @return the data entry hold by the tree node */
	public  U getData() { 
		return data;	
	}

	private T key;
	/** @return the key entry associated width the tree node */
	public  T getKey() {
		return key; 
	}
	
	private BinaryTreeNode <T> parent = null;
	/** @return the parent of the tree node. null if the node is the root of the tree*/
	public BinaryTreeNode <T> getParent() {
		return parent; 
	}
	/** sets the parent of the tree node.*/
	public void setParent(BinaryTreeNode <T> newParent) {
		this.parent = newParent; 
	}
	
	
	private BinaryTreeNode <T> left = null;
	/** @return the left child node of the tree node. null if there is no left child*/
	public BinaryTreeNode <T> getLeft() { 
		return left; 
	}
	/** sets the left Child of the tree node.*/
	public void setLeft(BinaryTreeNode <T> newLeft) { 
		this.left = newLeft; 
	}

	private BinaryTreeNode <T> right = null;
	/** @return the right child node of the tree node. null if there is no right child*/
	public BinaryTreeNode <T> getRight() { 
		return right; 
	}
	/** sets the right Child of the tree node.*/
	public void setRight(BinaryTreeNode <T> newRight) { 
		this.right = newRight; 
	}
	
	
	
	
	/** Basic Node Constructor.
	 *  @param newKey the key who is used to find the position of the node in the tree.
	 *  @param the data stored in the tree node.
	 */
	public BinaryTreeNode <T>( T newKey,  U newData) 
	{
		this.key = newKey;
		this.data = newData;
	}		
	
	
	
	@Override
	public  W toString(){
		return this.key.toString() + ":" + this.data.toString();
	}
	

}
 
S

SlaterB

Gast
> T newKey, U newData
+
> public U getKey()

bisschen aufpassen schadet nicht..,
ansonsten zwar mit Fehlern aber die Richtung ist gut

> public W toString(){

na nun ist es aber übertrieben ;), das muss String bleiben
 
G

Guest

Gast
gibt es noch fehler drin?

Code:
public class BinaryTreeNode<T> implements BinaryNode<T> {

	private  U data;
	/** @return the data entry hold by the tree node */
	public  U getData() { 
		return data;	
	}

	private T key;
	/** @return the key entry associated width the tree node */
	public  T getKey() {
		return key; 
	}
	
	private BinaryTreeNode <T> parent = null;
	/** @return the parent of the tree node. null if the node is the root of the tree*/
	public BinaryTreeNode <T> getParent() {
		return parent; 
	}
	/** sets the parent of the tree node.*/
	public void setParent(BinaryTreeNode <T> newParent) {
		this.parent = newParent; 
	}
	
	
	private BinaryTreeNode <T> left = null;
	/** @return the left child node of the tree node. null if there is no left child*/
	public BinaryTreeNode <T> getLeft() { 
		return left; 
	}
	/** sets the left Child of the tree node.*/
	public void setLeft(BinaryTreeNode <T> newLeft) { 
		this.left = newLeft; 
	}

	private BinaryTreeNode <T> right = null;
	/** @return the right child node of the tree node. null if there is no right child*/
	public BinaryTreeNode <T> getRight() { 
		return right; 
	}
	/** sets the right Child of the tree node.*/
	public void setRight(BinaryTreeNode <T> newRight) { 
		this.right = newRight; 
	}
	
	
	
	
	/** Basic Node Constructor.
	 *  @param newKey the key who is used to find the position of the node in the tree.
	 *  @param the data stored in the tree node.
	 */
	public BinaryTreeNode <T>( <T> newKey,  <U> newData) 
	{
		this.key = newKey;
		this.data = newData;
	}		
	
	
	
	@Override
	public  String toString(){
		return this.key.toString() + ":" + this.data.toString();
	}
	

}

mfg
 
B

Benzin

Gast
public class BinaryTreeNode<T,U> implements BinaryNode<T,U>{
...
}

ich glaub' nur so kann eine generische Klasse mehrere Typvariablen enthalten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Generischer Binärbaum - löschen Java Basics - Anfänger-Themen 1
P Generischer Binärbaum (compareTo Frage) Java Basics - Anfänger-Themen 4
S Generischer Bubblesort Java Basics - Anfänger-Themen 19
M Generischer Array erstellen Java Basics - Anfänger-Themen 2
N Enum als generischer Typ Java Basics - Anfänger-Themen 4
S Frage zu generischer Liste Java Basics - Anfänger-Themen 3
P Liste sortieren verschiedener generischer Typen Java Basics - Anfänger-Themen 4
S ClassCastException bei generischer Klasse Java Basics - Anfänger-Themen 5
M Collections Iterator und generischer Baum Java Basics - Anfänger-Themen 0
C Anwendung generischer Typparamter auf ArrayList Java Basics - Anfänger-Themen 2
J Generischer Typ - Array Java Basics - Anfänger-Themen 9
T Generisches Feld in nicht-generischer Klasse möglich? Java Basics - Anfänger-Themen 5
Helgon Polymorphie Generischer Methodenkopf - Erklärung Java Basics - Anfänger-Themen 3
E Generischer Methode ein Array übergeben Java Basics - Anfänger-Themen 3
J Frage zu generischer Klasse und Casten Java Basics - Anfänger-Themen 14
S generischer swap Java Basics - Anfänger-Themen 22
O Kleines Problem mit Konstruktor mit Parametern aus generischer Klasse...oder so ;) Java Basics - Anfänger-Themen 2
D Generischer Datentyp Java Basics - Anfänger-Themen 2
F (Generischer) Adapter Java Basics - Anfänger-Themen 8
T Generics: Generischer Konstruktor-Aufruf? Java Basics - Anfänger-Themen 17
S Frage zu generischer ArrayList Java Basics - Anfänger-Themen 6
X Rekursion & Generischer Datentyp Java Basics - Anfänger-Themen 11
G Subtyp in generischer Klasse Java Basics - Anfänger-Themen 7
E Generischer Datentyp und Arrays Java Basics - Anfänger-Themen 3
T generischer stack Java Basics - Anfänger-Themen 3
ven000m Unterschied zwischen: ADT & generischer Programmierung Java Basics - Anfänger-Themen 2
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
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 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 Binärbaum und Wrapperklassen Java Basics - Anfänger-Themen 6
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

Ähnliche Java Themen

Neue Themen


Oben