olá amigos, por favor, em um exercício com implemtação de Collections que estou fazendo, criei um ArrayList e LinkedList, de por exemplo, clientes, com apenas nome e endereços ( já que pode haver mais de um endereço ), fiz toda a implementação da LinkedList, do ArrayList, removi, adicionei clientes etc. em outra parte do codigo que ja estava pronta, tem uma classe contatos, e uma enum para contatos, tipo, vizinho, avo, tia, mãe etc. bom, o que não consegui fazer e entender, foi: da maneira que fiz, imprimir a lista Array e Linked, consegui imprimir o endereco de memoria , e também não entendi, por exemplo, em que parte do código iria utilizar a enum. aqui mesmo tem um artigo do Vinny sobre isso, mas não consegui assimilar onde estou errando. posto abaixo meu codigo:
classe cliente
import java.util.Collection;
import java.util.Set;
import java.util.ArrayList;
import java.util.List;
public class Cliente {
private String nome ;
private List enderecos; // se criar um Array list neste caso , vai manter uma colecao
// mas esta limitando p/ trabalhar somente com array list.
// sempre manter o mais basico List
private Set contatos;
public Cliente(String nome, List enderecos) {
super();
this.nome = nome;
this.enderecos = enderecos;
}
public Cliente(String nome, List enderecos, Set contatos) {
super();
this.nome = nome;
this.enderecos = enderecos;
this.contatos = contatos;
}
public Cliente() {
super();
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public List getEnderecos() {
return enderecos;
}
public void setEnderecos(List enderecos) {
this.enderecos = enderecos;
}
}
a classe endereco:
public class Endereco {
private String endereco ;
private String cidade ;
public Endereco(String endereco, String cidade) {
super();
this.endereco = endereco;
this.cidade = cidade;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
}
a classe Contato:
import java.util.Set;
// enum TipoContato { VIZINHO , TIO, AVO, IRMAO } pode ser aqui
public class Contato {
enum TipoContato { VIZINHO , TIO, AVO, IRMAO }
private String nome ;
private TipoContato tipo;
private Set contatos ;
// interface Set , nao permite itens duplicados
public Contato() {
super();
}
public Contato(String nome, TipoContato tipo) {
super();
this.nome = nome;
this.tipo = tipo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public TipoContato getTipo() {
return tipo;
}
public void setTipo(TipoContato tipo) {
this.tipo = tipo;
}
}
e por último a classe TestaCliente :
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class TesteCliente {
public static void main(String[] args) {
LinkedList enderecos = new LinkedList();
enderecos.addLast(new Endereco("end1", "cidade1"));
enderecos.addFirst( new Endereco("end2","cidade2"));
enderecos.add( new Endereco("end3","cidade3"));
ArrayList enderecos2 = new ArrayList();
enderecos2.add(new Endereco("end4", "cidade4"));
enderecos2.add( new Endereco("end5","cidade5"));
enderecos2.add(new Endereco("end6","cidade6"));
Cliente cliente = new Cliente("Joana Joana", enderecos);
Cliente manuel = new Cliente("Silva da silva", enderecos);
ArrayList clientesArray = new ArrayList();
clientesArray.add("Joao da Silva2");
clientesArray.add("Joana da Silva2");
LinkedList clientesLink = new LinkedList();
clientesLink.add("Joana da silva3");
clientesLink.add("Joana da silva4");
clientesLink.remove("Joana da silv3");
for (Object object : cliente.getEnderecos()) {
System.out.println(object.toString());
}
for (Object object : manuel.getEnderecos()) {
System.out.println(object.toString());
}
}
}