3
I need to generate an empty chained list and do three operations with it:
- Add an element to the end of the list
- Remove an item from the list
- Insert n elements at the end of the list
Finally, the elements must be objects of a class Elemento
. This way I created the class Elemento
:
public class Elemento {
private int valor;
private int proximo = 0;
Elemento(int pValor) {
valor = pValor;
proximo++;
}
}
The class of the list:
public class MinhaListaEncadeada {
private ArrayList<Elemento> ListaEncadeada;
private Elemento elemento;
MinhaListaEncadeada() {
ListaEncadeada = new ArrayList();
}
public void inserirElemento(int pValor) {
ListaEncadeada.add(new Elemento(pValor));
}
public void removeElemento(int pValor) {
for (int i=0; i<ListaEncadeada.size(); i++) {
elemento = ListaEncadeada.get(i);
if (elemento.equals(pValor))
ListaEncadeada.remove(elemento);
}
}
public void insereNElementos(int n) {
for (int i=1; i<n+1; i++)
ListaEncadeada.add(new Elemento(i));
}
public void imprimeLista() {
for (int i=0; i<ListaEncadeada.size(); i++) {
if (i < ListaEncadeada.size()-1)
System.out.print(ListaEncadeada.get(i) + ", ");
else
System.out.println(ListaEncadeada.get(i));
}
}
}
And finally I called your methods in main
with some tests:
public class Exercicio3ListaEncadeada {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
MinhaListaEncadeada lista = new MinhaListaEncadeada();
Elemento e;
System.out.print("\n Inserindo o elemento 6 no final da lista: \n");
lista.inserirElemento(6);
lista.imprimeLista();
System.out.print("\n Inserindo 6 elementos na lista: \n");
lista.insereNElementos(6);
lista.imprimeLista();
System.out.print("\n Removendo o valor 4 na lista: \n");
lista.removeElemento(4);
lista.imprimeLista();
}
}
But every time I run the program it returns:
Inserindo o elemento 6 no final da lista:
exercicio3listaencadeada.Elemento@7229724f
Inserindo 6 elementos na lista:
exercicio3listaencadeada.Elemento@7229724f, exercicio3listaencadeada.Elemento@16b98e56, exercicio3listaencadeada.Elemento@7ef20235, exercicio3listaencadeada.Elemento@27d6c5e0, exercicio3listaencadeada.Elemento@4f3f5b24, exercicio3listaencadeada.Elemento@15aeb7ab, exercicio3listaencadeada.Elemento@7b23ec81
Removendo o valor 4 na lista:
exercicio3listaencadeada.Elemento@7229724f, exercicio3listaencadeada.Elemento@16b98e56, exercicio3listaencadeada.Elemento@7ef20235, exercicio3listaencadeada.Elemento@27d6c5e0, exercicio3listaencadeada.Elemento@4f3f5b24, exercicio3listaencadeada.Elemento@15aeb7ab, exercicio3listaencadeada.Elemento@7b23ec81
Instead of the values stored in the elements. Can anyone tell me what I’m doing wrong?
Thank you =] getValor solved the same problem
– Guilherme Cherobim