Metodo Ordenar lista

olá brothers javeiros.
Iniciante, aprendiz de java.
minha duvida é seguinte no codigo abaixo tenho de ordenar a lista, mais antes ja pesquisei varias formas no forum sei que existe um metodo para isso so que eu nesse meodo nao estou conseguindo,
obs: fazer um metodo inserir em ordem uma lista simplesmente encadeada.

fiz varias pesquisas e a que eu entendi foi com arraylist so que nao estou conseguido abaixo o codigo

package lista;

public class No {
	public int iDado; // item do nó

	public double dDado; // item do nó

	public String nome;// item do nó

	public No proximo; // próximo nó da lista

	public No(int id, double dd, String nome) // construtor
	{// inicio do metodo construtor
		iDado = id; // inicializa a variável iDado
		dDado = dd; // inicializa a variável dDado
		this.nome = nome;// o nome da classe (this.nome) recebe o valor
		// que lhe e' passado pela variavel nome
	}// fim do metodo construtor

	public void mostraNo() // mostra ele mesmo (No)
	{
		System.out.println("{" + iDado + ", " + dDado + ", " + nome + "} ");
	}
} // Fim da classe No

package lista;

class ListaDeNos {
	private No primeiro; // referência para o primeiro nó da lista

	public ListaDeNos() // construtor
	{
		primeiro = null; // inicializa a lista, ou seja, a lista não
		// possui nenhum nó até agora.
	}

	public boolean estaVazia() // retorna verdadeiro se a lista
	// estiver vazia
	{
		return (primeiro == null);
	}

	// insere no começo da lista
	public void insereNoComeco(int id, double dd, String nome) {
		// define um novo objeto da classe No
		No novoNo = new No(id, dd, nome);
		novoNo.proximo = primeiro; // o próximo do novo recebe primeiro
		primeiro = novoNo; // o primeiro passa a ser o novoNo
	}

                     // metodo ordençao, ordenar lista 
          public lista<No>nos = new arraylist<No>(){
              No.add(new No ("maria", ));
              No.add(new No ("joao", ));
              No.add(new No ("andre", ));
              return No;
       }

	// apaga o primeiro elemento
	public No apagarOPrimeiro() { // assume que a lista não está vazia
		No temp = primeiro; // salva a referência para o nó
		primeiro = primeiro.proximo; // apaga o nó e o primeiro
		// passa a ser o seguinte
		return temp; // retorna o nó apagado
	}

	// mostra todos os nós da lista
	public void mostraLista() {
		System.out.print("No (primeiro-->último): ");
		No atual = primeiro; // inicia no começo da lista
		while (atual != null) // enquanto não chegar no fim da lista executa
		{
			atual.mostraNo(); // imprime na tela a data atraves do
			// método mostraNo
			atual = atual.proximo; // pula para o próximo nó
		}
		System.out.println("");
	}// fim do método mostraLista
} // fim da classe ListaDeNos

depois tem a classe main mais minha duvida e como eu consigo fazer o metodo para ordenar a lista na class listadenos

se eu for usar a lista duplamente encadeada entao eu nao preciso usar a simplesmente encadeada certo ou vou usala ?

:smiley:

na lista duplamente encadeada o seu objeto deve guardar a referencia do que vem antes dele e tambem do q vem depois…a simple so guarda o da q vem depois…
sendo assim vc vai usar uma das duas