Como Implemente uma lista encadeada?

como faço para implementar uma lista encadeada???

Você quer fazer uma na mão ou usar uma já existente?

Se for a opção 1, é só criar uma classe auto-referencial:

class Nodo { Nodo prox; ... }

Senão, olhe as classes do pacote java.util (ArrayList, LinkedList, etc)

Cara vou por um codigo aki da uma olhada

package listaduplamenteencadeada;

public class ListaDupla {
NoDuplo primeiro, ultimo;

public ListaDupla() {
    primeiro = ultimo = null;
}

public void insereNo(Object novoElemento){
    if (primeiro == null)
        ultimo = primeiro = new NoDuplo(novoElemento, ultimo);
    else 
        ultimo = ultimo.prox = new NoDuplo(novoElemento, ultimo);
}

public Object excluiNo(){
    if (primeiro == null){
        System.out.println("Lista Vazia!");
        System.exit(1);
    }
    Object removeElemento = ultimo.elemento;
    if (primeiro == ultimo)
        primeiro = ultimo = null;
    else{
        NoDuplo temp_no = ultimo.ant;            
        temp_no.prox = null;            
        ultimo = temp_no;
    }    
    return removeElemento;
}


public void imprimirLista (){
    NoDuplo temp_no = primeiro;
    while (temp_no != null){
        System.out.println(temp_no.elemento);
        temp_no = temp_no.prox;
    }   

}

}

[size=“18”]Esse codigo de uma lista dupla!![/size]

package listaduplamenteencadeada;

public class NoDuplo {
Object elemento;
NoDuplo prox;
NoDuplo ant;

public NoDuplo(Object e) {
    elemento = e;
    prox = ant = null;
}    
public NoDuplo(Object e, NoDuplo a){
    elemento = e;
    prox = null;
    ant = a;
}

}// fim da classe

package listaduplamenteencadeada;

import java.io.*;

public class Main {

public static void escolhas(){
    System.out.println("Escolha uma opção:");
    System.out.println("1 - Inserir na fila");
    System.out.println("2 - Remover da fila");
    System.out.println("3 - Imprime a fila");
    System.out.println("4 - Sair");
    System.out.println("Opcao:\t");
}

public static void main(String[] args) {
    ListaDupla l = new ListaDupla();
    
           
    BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
    Object valor;
    char op;
    
    try{
        do{
            escolhas();
            op = entrada.readLine().charAt(0);
        
            switch (op){
                case '1':
                    System.out.println("Inserindo um elemento na lista");
                    System.out.println("Digite um valor:");
                    valor = Integer.parseInt(entrada.readLine());
                    l.insereNo(valor);
                    break;
                case '2':
                    System.out.println("Removendo um elemento da lista");
                    valor = l.excluiNo();
                    System.out.println("Elemento " + valor + " removido!");
                    break;
                case '3':
                    System.out.println("Imprimindo a fila");
                    l.imprimirLista();
                    break;
                case '4':
                    System.out.println("Encerrando o programa");
                    break;
                default:
                    System.out.println("Opcao invalida!");
            }
        }while (op > '0' && op < '4');
    }catch(Exception erro){
        System.out.println("Erro na entrada de dados");
    }

}

}

CARA VE SE EH ISSO Q VC TAVA PROCURANDO EU COLOQUEI AS TRES CLASSE Q SAO NECESSARIAS!!!

AT+++++