Foros del Web » Programación para mayores de 30 ;) » Java »

Pasar una Lista por parametro en java

Estas en el tema de Pasar una Lista por parametro en java en el foro de Java en Foros del Web. Hola amigos: Tengo un problema al pasar por parametro un lista. Mi lista tiene un objeto p, tipo nodo, que hace referencia a un nodo ...
  #1 (permalink)  
Antiguo 20/02/2011, 15:24
 
Fecha de Ingreso: junio-2006
Mensajes: 63
Antigüedad: 17 años, 10 meses
Puntos: 0
Pasar una Lista por parametro en java

Hola amigos:

Tengo un problema al pasar por parametro un lista.
Mi lista tiene un objeto p, tipo nodo, que hace referencia a un nodo de la lista y las funciones get() (devuelve el valor de p) y la funcion getSgte() (avanza p al nodo siguiente).
Mi problema es que cuando paso por parametro una lista y dentro de esta funcion avanzo p con getSgte(), al salir de la funcion, p apunta al nodo que apuntaba antes de llamar a la funcion.

¿Hay una forma de que p siga avanzado?

Esta es la clase lista:

Código Javascript:
Ver original
  1. public class Lista {    
  2.     private Nodo ini;
  3.     private Nodo fin;
  4.     private Nodo p;
  5.    
  6.     public Lista(){
  7.         ini=null;
  8.         fin=null;
  9.         p=null;
  10.     }
  11.     public void insertarFinal(String dato){
  12.         Nodo n=new Nodo(dato);
  13.         if(fin!=null)fin.setSgte(n);
  14.         else p=ini=n;
  15.         fin=n;      
  16.     }
  17.     public String get(){
  18.         if(p!=null) return p.getDato();
  19.         else return null;
  20.     }
  21.     public String getSgte(){
  22.         if(p!=null){
  23.             p=p.getSgte();
  24.         }else{
  25.             p=ini;
  26.         }
  27.         return get();
  28.     }
  29.     public void reiniciar(){
  30.         p=ini;
  31.     }
  32. }

y la clase nodo:

Código Javascript:
Ver original
  1. public class Nodo {
  2.     private String dato;
  3.     private Nodo sgte;
  4.  
  5.     public Nodo(){
  6.         dato=null;
  7.         sgte=null;
  8.     }
  9.     public Nodo(String dato){
  10.         this.dato=dato;
  11.         sgte=null;
  12.     }
  13.     public String getDato() {
  14.         return dato;
  15.     }
  16.     public void setDato(String dato) {
  17.         this.dato = dato;
  18.     }
  19.     public Nodo getSgte() {
  20.         return sgte;
  21.     }
  22.     public void setSgte(Nodo sgte) {
  23.         this.sgte = sgte;
  24.     }
  25. }

ayuda pls.
  #2 (permalink)  
Antiguo 20/02/2011, 17:10
 
Fecha de Ingreso: febrero-2011
Mensajes: 27
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Pasar una Lista por parametro en java

Mmmm no acabo de ver la funcionalidad del código, para lo que pretendes tienes ya la LinkedList que son listas enlazadas... y si esta no te sirve, creo que sería más lógico que implementases un iterador (interfaz Iterable<T>)... También... ¿porqué tu lista no es genérica?
  #3 (permalink)  
Antiguo 04/03/2011, 23:50
 
Fecha de Ingreso: junio-2006
Mensajes: 63
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Pasar una Lista por parametro en java

Gracias x la respuesta

Uso una lista x solo necesito una, es un programa pequeño

Y el error ya lo solucione
Es que usaba un analizador lexico y formaba las palabras y las ponia en la lista, luego un analizador sintactico tomaba palabra por palabra de la lista y mediante:
Código Javascript:
Ver original
  1. String txt=lista.get()
tomaba un valor y con
Código Javascript:
Ver original
  1. lista.getSgte()
avanzaba, pero habia una condicion del automata que llamaba a una funcion q era otro automata, que tbn tomaba palabra de lista, y al momento de regresar el valor de txt no lo actualize con lista.get y eso me ocasionaba un error.

Etiquetas: lista, pasar, parámetros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:18.