Listas enlazadas simplemente

package m2;
import javax.swing.*;

public class Main {

public static void main(String[] args) {

int opcion;
int n = 0;
boolean a = true;

do{
    try{

    do{
    opcion = Integer.parseInt(JOptionPane.showInputDialog("\t"+"Introduzca una opcion"+"\n"+
                                                                 "\t"+"1. Insertar"+"\n"+
                                                                 "\t"+"2. Consultar"+"\n"+
                                                                 "\t"+"3. Buscar"+"\n"+
                                                                 "\t"+"4. Borrar"+"\n"+
                                                                 "\t"+"5. Salir"));
    if (opcion<=0 || opcion>5){
     JOptionPane.showMessageDialog(null, "Opcion incorrecta");
    }
    }
    while(opcion<=0 || opcion>5);

    switch(opcion){
         case 1:
             System.out.print("lalo");
             break;
         case 2:
         case 3:
         case 4:
         case 5:

     }

    a=true;
    }

    catch(NumberFormatException e){
    a=false;
    JOptionPane.showMessageDialog(null, "caracter no valido, otra vez ");
    }

}
while(a==false);

    }

}

tengo que hacer lo que dice ahi insertar.....etc pero no tengo idea de como

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Jaja aj .. te tocó la parte

Jaja aj .. te tocó la parte de inserción pero no te dijeron nada más?

Bueno, lo primero que tienes que hacer es saber que tienes que hacer?!!! Aunque parezca ridículo.

¿Donde tienes que insertar? ¿Que tienes que insertar? ¿Como vas a saber si ya insertaste o no?

Es insertar un dato en una estructura de datos? Insertar un registro en una base de datos? Una palabra en un archivo? Un hilo en una aguja? ¿Que?

Luego que lo sepas lo que puedes pensar es ¿como harías esa cosa con un lapiz y un papel? Como describirías los pasos si tuvieras que hacer:

Paso 1: Esto
Paso 2: Aquello
Paso 3: Lo otro.

Cuando tengas claro ese nivel de detalle, vuelve y yo te ayudo con lo que te falte.

Imagen de CharlieCorner

Comienza por entender qué es

Comienza por entender qué es una lista enlazada, no la implementación, sino teóricamente cómo funcionan. Tendrás que ver cómo se hace con dibujitos en papel, no es difícil, si tienes duda expón en lo que tienes duda y te orientamos con tus dudas.

cod

aqui esta el codigo de una lista enlazada por el metodo de recursividad

public class Listas {

    private Object dato;
    private Listas sig;
    private Listas ant;
   
    public Listas() {
        dato = null;
        sig = null;
        ant = null;
       
    }

    public void InsertarFinal(Object x) {
       int tamanio=tamaño();
       if(tamanio<=0){
            dato = x;            
            sig = new Listas();
            sig.ant=null;
       }else
        if (vacia()) {
            dato = x;
            sig.ant =sig.sig ;
            sig = new Listas();

        } else {
            sig.InsertarFinal(x);
        }
    }

    public boolean vacia() {
        return dato == null && sig == null;
    }

    public String toString() {
        String res = "[" + restosig() + "]";
        return res;
    }

    private String restosig() {
        String res = "";
        if (!vacia()) {
            res = dato.toString();
            if (!sig.vacia()) {
                res = res + ", " + sig.restosig();
            }
        }
        System.out.println(ant);
        return res;
    }

    private String restoant() {
        String res = "";
        if (!vacia()) {
            res = dato.toString();
           if (!ant.vacia()) {
                res = res + "," + sig.ant.restoant();
           
        }
       
    }
        return res;
    }
    public int tamaño() {
        if (vacia()) {
            return 0;
        }
        return 1 + sig.tamaño();
    }

    public boolean buscar(Object x) {
        if (vacia()) {
            return false;
        }
        if (dato.equals(x)) {
            return true;
        }
        return sig.buscar(x);
    }

    public Object obtener(int pos) {
        if (vacia()) {
            return null;
        }
        if (pos == 0) {
            return dato;
        }
        return sig.obtener(pos - 1);
    }

    public void modificar(int pos, Object x) {
        if (vacia() || pos < 0) {
            return;
        }
        if (pos == 0) {
            dato = x;
        } else {
            sig.modificar(pos - 1, x);
        }
    }

    public Object eliminar(Object x) {
        Object res = null;
        if (!vacia()) {
            if (dato.equals(x)) {
                res = dato;
                dato = sig.dato;
                sig = sig.sig;
            } else {
                res = sig.eliminar(x);
            }
        }
        return res;
    }
}

por cierto si alguien puede colaborarme adaptando este codigo q sirva con doblemente enlazada se lo agradezco mucho :S
ah ignor alo que dice ant xD