Boa noite,
Preciso criar um método que insere uma String numa lista duplamente encadeada em ordem alfabética e usando o "public int compareTo(String anotherString)"
public void insert(String s){
//public int compareTo(String anotherString)
//< 0 (negativo) ? valor do objeto corrente é menor que o valor do objeto passado como parâmetro
//> 0 (positivo) ? valor do objeto corrente é maior que o valor do objeto passado como parâmetro
//== 0 (zero) os objetos são iguais
Node current = getFirst();
//se a lista estiver vazia, somente insere
if (isEmpty()){
insertAtFront(s);
} else{
while (current!=null) { //enquanto nao percorrer toda a lista...
if(s.compareTo((String) current.getData())<0){ // se o dado for menor
if (current==getFirst()){
insertAtFront(s); //insere na primeira posição
}
else if(current==getLast()){ //insere uma posição antes da última posição
//NAO SEI COMO FAZER P/INSERIR EM UMA POSIÇÃO INTERMEDIÁRIA
}
else{
E TB NÃO SEI COMO INSERIR UMA POSICAO ANTES DO NODO CORRENT
}
}
else if(s.compareTo((String) current.getData())>0){
insertAtFront(s); //inserir depois do nodo corrente
}
else if(s.compareTo((String) current.getData())==0){
insertAtFront(s);
}
} //termina os ifs
current=current.getNext(); //incrementa e compara os proximos nodos
}
}