Ir ao conteúdo

ArrayList


Hesodia

Posts recomendados

Postado

Bom galera eu tava fazendo um cadastro aqui usando Lista e fazendo em camadas. Repositório para os métodos, Controlador para as exceções e Fachada.



private Medico medico;
private RepositorioMedicoLista proximo;

public RepositorioMedicoLista() {

this.medico = null;
this.proximo = null;
}

public void inserirMedico(Medico medico) {
if (this.medico == null) {
this.medico = medico;
this.proximo = new RepositorioMedicoLista();
} else {
this.proximo.inserirMedico(medico);
}
}

public void removerMedico(String crm) {
if (this.medico != null) {
if (this.medico.getCrm().equals(crm)) {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
} else {
this.proximo.removerMedico(crm);
}
}
}

public Medico listagemMedico() {
return medico;
}

public Medico consultarCodigo(Medico medico) {
Medico ret = null;
if (this.medico == null) {
throw new RuntimeException("Consulta sem resultado");
} else {
while (this.proximo != null) {
if (this.medico.getCodigo().equals(medico.getCodigo())) {
ret = this.medico;
break;
} else {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
}
}
}
return ret;
}

public Medico consultarNome(Medico medico) {
Medico ret = null;
if (this.medico == null) {
throw new RuntimeException("Consulta sem resultado");
} else {
while (this.proximo != null) {
if (medico.getNome().equals(medico.getNome())) {
ret = this.medico;
break;
} else {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
}
}
}
return ret;
}

public Medico consultarCrm(Medico medico) {
Medico ret = null;
if (this.medico == null) {
throw new RuntimeException("Consulta sem resultado");
} else {
while (this.proximo != null) {
if (medico.getCrm().equals(medico.getCrm())) {
ret = this.medico;
break;
} else {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
}
}
}
return ret;
}

public Medico consultarTodosMedico() {
return medico;

}

public void alterarCodigo(String codigo) {
if (this.medico != null) {
if (this.medico.getCodigo().equals(codigo)) {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
} else {
this.proximo.alterarCodigo(codigo);
}
}
}

public void alterarNome(String nome) {
if (this.medico != null) {
if (this.medico.getNome().equals(nome)) {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
} else {
this.proximo.alterarNome(nome);
}
}
}

public void alterarCrm(String crm) {
if (this.medico != null) {
if (this.medico.getCrm().equals(crm)) {
this.medico = this.proximo.medico;
this.proximo = this.proximo.proximo;
} else {
this.proximo.alterarCrm(crm);
}
}
}

/**
* @return the proximo
*/
public RepositorioMedicoLista getProximo() {
return proximo;
}

/**
* @param proximo the proximo to set
*/
public void setProximo(RepositorioMedicoLista proximo) {
this.proximo = proximo;
}

}
public class RepositorioMedicoLista {

Só que na hora de chamar os métodos para os formulário eu estou me complicando. Dai me falaram para fazer por ArrayList que já tem os métodos prontos e fica mais fácil para chama-los depois. Só que eu não sei quase nada de ArrayList. Dai eu comecei a fazer e ta assim.



private ArrayList<Medico> lista;

public RepositorioMedico(){
this.lista = new ArrayList<Medico>();

}
public void InserirMedico(Medico medico){
this.lista.add(medico);
}
}
public class RepositorioMedico {

Se alguem puder me mostrar como ficam os métodos de Alterar, Remover, Excluir, Consulta e Listar eu agradeço. Não sei quase nada de ArrayList. valeu.

Postado

Olá amigo, para manipular a lista, aconselho você a usar a interface Iterator, ela serve para percorrer a lista sequencialmente e possui alguns métodos para manipulação da mesma.

Vou colocar um exemplo de como ficaria um método para consultar um médico usando Iterator:


public Medico consultarMedico(int codigo){

//cria o Iterator e prepara ele pra percorrer a lista de médicos
Iterator<Medico> iterator = lista.iterator();

//cria um objeto para receber cada médico da lista e comparar com
//o código passado como parâmetro no método
Medico medico = null;

//variável que servirá para saber se o médico foi encontrado, caso seu valor
//seja false após toda a lista ser percorrida, será levantada uma exceção
boolean achou=false;

//laço para percorrer a lista, utilizando o Iterator
While(iterator.hasNext())
{
medico = iterator.next();
if(medico.getCodigo() == codigo)
{
achou = true;
return medico;
}
}
if(achou == false)
{
//lançar exceção de médico não encontrado
}
}

Fiz esse código sem testar, então ele pode conter algum bug, mas a ideia geral é essa. A partir daí acho que fica mais fácil pra você criar os demais métodos para manipulação da lista.

Para mais informações leia a documentação de ArrayList e Iterator.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!