Java Листы Simplemente Enlazada

Estoy desesperado por encontrar ayuda отрезвляют las listas enlazadas en java; ya он buscado por todos lados ejemplos, видео, ya леи un par de libros y никакой consigo comprender Комо funcionan. Lo que principalmente никакой фургон comprendo es en DONDE se están guardando los nuevos elementos de la lista que se agregando, en переменная пластина inicio o en variable

clase 1

package prueba.lista;

public class Lista {

Nodo inicio;
Nodo fin;

    public Lista()
    {
        inicio = null;
        fin = null;
    }

    public void InsertarFinal( String info)
    {
        Nodo nuevo = new Nodo( info, null);

        if (inicio == null)
        {
            fin = nuevo;
            inicio = nuevo;
        }

        else 
        {   

            fin.setSiguiente(nuevo);  <-------------------------------------
            fin = nuevo;  // esta es la linea de codigo que no comprendo,  ^
                          //porque al asignarle nuevo a fin, a mi parecer  |
                          //se borra lo que estaba en fin anteriormente y  |
                          //ahora tendria unicamente nuevo; y la linea     |
                          //anterior de codigo           ----------------->
                          //no seriviría de nada porque la variable fin
                          //se sobreescribío completamente
        }
    }

    public void Mostrar()
    {
        Nodo temp = inicio;    //esto es lo otro que no entiendo, donde se 
                               //guardaron todos los elementos? en variable inicio?
                               //como es eso posible? la unica vez que se le 
                               //asignó algo a variable inicio es cuando se 
                              // validaba que era null, entonces se le asignaba
                              // el primer elemento de la lista
        while( temp != null)
        {
            System.out.println( temp.getInfo() );
            temp = temp.siguiente;
        }
    }
}

clase 2

package prueba.lista;


public class Nodo {

    private String info;
    Nodo siguiente;

    public Nodo( String i, Nodo s)
    {
        info = i;
        siguiente = s;
    }


    public String getInfo() {
        return info;
    }


    public void setSiguiente(Nodo siguiente) {
        this.siguiente = siguiente;
    }


}

Clase 3

package prueba.lista;

public class PruebaLista {

   public static void main(String[] args) {
        Lista l1 = new Lista();

        l1.InsertarFinal("a");
        l1.InsertarFinal("b");
        l1.InsertarFinal("c");
        l1.InsertarFinal("d");

        l1.Mostrar();
    }

}

ayuda por польза :(

1
задан 30.03.2017, 23:41
1 ответ

Просто соединенные списки продолжают следующее начало: узел содержит Вашу стоимость и ссылку на следующий узел. В случае Гєltimo узел (конец) ссылка на следующего - null, и когда aГ±ade новый элемент создает узел, ссылка на следующего конца меняется в новый узел и это переходит к тому, чтобы быть концом

1
ответ дан 24.11.2019, 10:16