Ai gente presciso muito de ajuda agora não sei como implementar esses dois metodos eles estão em negrito alguém se puder me dar uma luz…
/**
*
*/
package Trabalho;
import ILista.Ilista;
/**
- Lista simplesmente encadeada utilizando CÉLULA CABEÇA
- @author professor
*/
public class ListaCabeca implements Ilista {
// ------------ CLASSES ANINHADAS ------------
/**
* Classe célula (ou nodo ou nó) que é uma estrutura auto-referenciada para
* manuseio de listas encadeadas. Uma célula é composta do elemento de uma
* referência para a próxima célula (que contém o próximo elemento).
*
* @author Willian
*/
protected static class Celula {
// Elemento que tem que ser comparável
Object elemento;
// Referência para a próxima célula
Celula prox;
}
// ------------ CLASSES ANINHADAS ------------
/**
* Primeira célula da lista que é a célula cabeça
*/
private Celula cabeca;
/**
* Quantidade de elementos armazenados na lista
*/
private int tam;
// ------------ CONSTRUTOR ------------
/**
* Constrói a lista criando a célula cabeça que não apontará
* para nenhuma outra célula, visto que a lista está vazia.
*/
public ListaCabeca() {
cabeca = new Celula();
cabeca.elemento = null;
cabeca.prox = null;
tam = 0;
}
/**
* Verifica se a lista está vazia.
* @return true, se lista vazia, ou false, caso contrário
*/
public boolean estaVazia() {
return tam == 0; // ou (cabeca.prox == null)
}
public void adicionar(Object elem) throws Exception {
if (elem == null)
throw new Exception("Elemento igual a nulo");
Celula novaCel = new Celula();
novaCel.elemento = elem;
novaCel.prox = cabeca.prox;
cabeca.prox = novaCel;
tam++;
}
public boolean adicionar(Object elem, int indice) {
if((tam < 1000000) && (tam > 0)){
System.out.println("Item adiciona com sucesso.");
}else{
System.out.println("Item não pode ser adicionado.");
}
return true;
}
/* (non-Javadoc)
* @see ed2.lista.ILista#contem(java.lang.Object)
*/
public boolean contem(Object elem) {
for (Celula cel = cabeca.prox; cel != null && cel.elemento.hashCode() <= 0; cel = cel.prox) {
System.out.println("Item encontrado.");
}
System.out.println("Item não encontrado ou não foi adicionado.");
return true;
}
[b]public String converteString() {
// TODO Auto-generated method stub
return null;
}[/b]
/**
-
Imprime os items da lista.
*/
public void imprime() {
for (Celula cel = cabeca.prox; cel != null; cel = cel.prox) {
System.out.print(cel.elemento + " ");
}}
/* (non-Javadoc)
-
@see ed2.lista.ILista#indiceDe(java.lang.Object)
*/
public int indiceDe(Object elem) {
// TODO Auto-generated method stub
return 0;
}
/* (non-Javadoc)
-
@see ed2.lista.ILista#obter(int)
*/
public Object obter(int indice) {
if (indice != 0) {
for (Celula cel = cabeca.prox; cel != null && cel.elemento.hashCode() <= 0; cel = cel.prox) {
if (cel.elemento.hashCode() == 0)
return cel.elemento;
}
}
return null;
}
/* (non-Javadoc)
-
@see ed2.lista.ILista#remover(java.lang.Object)
*/
public boolean remover(Object elem) {
if (elem == null || estaVazia()) {
return false;
} else {
Celula aux;
for (aux = cabeca; aux.prox != null; aux = aux.prox) {
if (tam == 0) {
break;
}
}
if (aux.prox != null && aux.prox.elemento == elem) {
elem = aux.prox.elemento;
aux.prox = aux.prox.prox;
} else {
return true;
}
tam–;
return true;
}
}
[b]/* (non-Javadoc)
-
@see ed2.lista.ILista#remover(int)
*/
public boolean remover(int indice) {return true;
}[/b]
/* (non-Javadoc)
-
@see ed2.lista.ILista#tamanho()
*/
public int tamanho() {
System.out.println("Elementos da lista: " + tam);
return tam;
}
/* (non-Javadoc)
-
@see ed2.lista.ILista#vazia()
*/
public boolean vazia() {return tam == 0;
}
-
@see ed2.lista.ILista#indiceDe(java.lang.Object)
}