Método

Alguém pode me ajudar pois não estou compreedendo essa função

public class Lista
{
	private NodoLista prim = null;//primeiro nodo da lista
	private NodoLista ult = null;//ultimo nodo da lista
	
	public void inserir(int chave)//insere dados há lista
	{
		NodoLista aux = new NodoLista();
		
		aux.chave = chave; // preenche o nodo com os dados
		
		if(prim == null) // lista VAZIA
			prim = aux; // atualiza o primeiro
		else
			ult.prox = aux;
			
		ult = aux; // atualiza o ultimo
	}
}

protected class NodoLista
{
	public int chave; // campo CHAVE da lista (pode ser de outro tipo)	
	/* INSIRA AQUI os demais campos da lista */
	 
	public NodoLista prox = null; // referencia para o proximo nodo da lista
}

bem esse aux é um objeto da classe NodoLista certo mais pra que serve esse objeto…??? ele cria espaço na mémoria…como é feito o armazenamento dos nodos na memoria…?

é isso ai amigo!
ele que controla, os valores a serem inseridos nesta lista! Ele testa se já existem valores, ou ainda não!

tai ai cara as duas classes vc k insere os dados mais esse aux e pra friar os nodos certo…?

/* CLASSE: LISTA ENCADEADA
 * inserir(x) -> insere o elemento na lista
 * pesquisar(x) -> procura pela chave na lista, retorna o nodo se o elemento for encontrado e NULL caso contrário
 * remover(x) -> remove um nodo das lista de acordo com a chave
 * imprimir(x) -> imprime todos os nodos da lista
*/

import javax.swing.*;
public class Lista
{
	private NodoLista prim = null;//primeiro nodo da lista
	private NodoLista ult = null;//ultimo nodo da lista
	
	public void inserir(int chave)//insere dados há lista
	{
		NodoLista  aux = new NodoLista();
		
		aux.chave = chave; // preenche o nodo com os dados
		
		if(prim == null) // lista VAZIA
			prim = aux; // atualiza o primeiro
		else
			ult.prox = aux;
			
		ult = aux; // atualiza o ultimo
	}
	
	public NodoLista pesquisar(int chave)
	{
		NodoLista aux;
		
		aux = prim;
		
		while(aux != null)
		{			
			if(aux.chave == chave) // registro encontrado
				return aux; // retorna o nodo encontrado
				
			aux = aux.prox; // avança para o próximo nodo			
		}		
		return null; // retorna null qdo não encontrado
	}

	public void remover(int chave)
	{
    	NodoLista aux, ant;
    	
    	aux = prim;    	
    	ant = null;
    	
    	while(aux != null)
    	{
      		if(aux.chave == chave) // nodo encontrado
      		{
        		if(aux == prim) // se o nodo a ser removido for o primeiro...
          			prim = prim.prox;
        		else
          			ant.prox = aux.prox;
          			
        		if(aux == ult) // se o nodo a ser removido for o ultimo...
          			ult = ant;
          			
        		break; 
      		}
    		ant = aux;
    		aux = aux.prox; // avança para o próximo nodo
    	}
    }

	public void imprimir()
	{
		NodoLista aux;
		
		aux = prim;
		
		while(aux != null)
		{			
			System.out.println("Chave: " + aux.chave);
			aux = aux.prox; // avança para o próximo nodo			
		}
	}
	
	public static void main(String args[])
	{
		Lista p = new Lista();
		int num;
	  for(int i=0;i<10;i++)
	  {
	  
		num=Integer.parseInt(JOptionPane.showInputDialog("Dígite o número que vc deseja listar !"));
	    p.inserir(num);
	  }
		p.imprimir();
		
	
	}
	


protected class NodoLista
{
	public int chave; // campo CHAVE da lista (pode ser de outro tipo)	
	/* INSIRA AQUI os demais campos da lista */
	 
	public NodoLista prox = null; // referencia para o proximo nodo da lista
}


}