Olá, bom dia. Alguém pode me ajudar a criar uma lista ordenada para 10 números (por exemplo), usando este esquema?
[code]class ListNode< T > {
T data;
ListNode< T > nextNode;
ListNode( T object ) {
this( object, null );
}
ListNode( T object, ListNode< T > node ){
data = object;
nextNode = node;
}
T getData() {
return data;
}
ListNode< T > getNext() {
return nextNode;
}
}
public class List< T >
{
private ListNode< T > firstNode;
private ListNode< T > lastNode;
private String name;
public List() {
this( “list” );
}
public List( String listName ){
name = listName;
firstNode = sortNode = lastNode = null;
}
public void insertAtFront( T insertItem )
{
if ( isEmpty() )
firstNode = sortNode = lastNode = new ListNode< T >( insertItem );
else
firstNode = new ListNode< T >( insertItem, firstNode );
}
public boolean isEmpty()
{
return firstNode == null;
}
} [/code]
Na realidade eu preciso enviar 10 números e preciso que eles fiqeum em ordem numérica…
Simples,
//caso voce queira repeticao dos itens na lista
List<Double> numeros = new ArrayList<Double>;
numeros.add(6.2);
numeros.add(2555.2);
numeros.add(1.2);
numeros.add(6.2);
numeros.add(6.2);
Collections.sort(numeros);
//caso voce nao queira repeticao
Set<Double> numeros = new TreeSet<Double>();
numeros.add(6.2);
numeros.add(2555.2);
numeros.add(1.2);
numeros.add(6.2);
numeros.add(6.2);
Quando voce utilizar a implementacao TreeSet voce vai garantir a unicidade dos elementos na colecao e tera o beneficio de que a TreeSet ja garante a ordenacao natural de seus elementos. Portanto voce pode encapsular essa treeSet em sua classe, assim:
public class ListNode<T>{
private List<T> elements = new ArrayList<T>();
//a implementacao da sua classe
public void addNode(T t){
this.elements.add(t);
Collections.sort(elements);
}
public T getNode(int elementIndex){
return elements.get(elementIndex);
}
/e assim por diante
}
T+
Usa a classe java.util.Set ela ordena por conta própria uma sequência.
Como Vini Fernandes citou o Set não vai deixar repetir os numeros.
Bom, acho que o grande problema é que ele quer usar aquele esquema e não classes da API.
Eu não testei se funciona sua lista, mas olhando rapidamente acho que ela não tem problemas.
Você quer criar um método de ordenação ou pode utilizar os da API?
Entao cmendes e renamed, acho que “criar um mecanismo de ordenacao” eh reinventar a roda. O melhor eh nao nos esquecermos da reutilizacao de codigo e usarmos as API do Java, pois ja estao prontinhas para isso mesmo…rsrs.
Existem várias opções:
- Pode ser um trabalho de faculdade e o professor obriga a criação de um método de ordenação;
- Ela pode estar querendo implementar um método para treinar a linguagem.
Por isso perguntei se ele pode usar a API ou precisa escrever seu próprio método. 