Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/06/2015, 10:54
Olbapk
 
Fecha de Ingreso: octubre-2008
Mensajes: 184
Antigüedad: 15 años, 6 meses
Puntos: 1
Añadir elemento en mi clase nodo

Hola a todos,

he creado una clase nodo, definido como:
Código:
public nodoN(){
		int a;
                String b;
		hijos = new ArrayList<nodoN>();
		padre=null;
		}
dentro de esa misma clase, tengo diferentes funciones para acceder a dichos valores como
Código:
public int getValor() {return a;}
etc.
Ahora quiero añadir un hijo a una estructura ya creada, para ello desde la clase donde trabajo, llamo a la función correspondiente de la siguiente forma:
.
.
.
nodoN = aux;
.
.
//metemos los valores necesarios en aux
.
.

n.agregarNodo(aux);

Siendo n el nodo actual donde estoy trabajando con diferentes datos y definiendo la función agregar nodo de la siguiente forma:

Código:
public void agregarNodo(nodoN hijo)
	{
		if(padre==null) 	
		{ System.out.println("Debes crear un padre para crear un hijo");
		}
		
		else
			{
			padre.hijos.add(hijo);
			hijo.padre=padre;
			}
	}
con este código pienso que debería acceder dentro del nodo actual a la estructura padre, y comprobar el valor, si no es null, lo añade. Pero en lugar de eso, siempre me sale que el valor del padre es nulo, por lo que nunca lo agrega. Esto no es posible ya que lo he comprobado antes de llamar a la función, lo que ocurre es que me está cogiendo un valor padre diferente, el de la inicialización de la clase, para ser exacto, en lugar del nodo n en el que me encuentro actualmente. ¿Por qué? ¿Cómo podría añadir el nodo hijo al nodo al nodo n donde me encuentro?.

Saludos y muchas gracias por vuestro tiempo a todos.