Como verificar se cpf ja existe no arrayList utilizando hasmap?
6 respostas
F
felipevs
Estou fazendo um exercício onde eu cadastro as pessoas e depois tenho que verificar e tal cpf ja foi cadastrado .
intcpf;cpf=Integer.parseInt(request.getParameter("cpf"));//Aqui eu recebo o CPF de um form.contatocont=newcontato();ArrayListlista=(ArrayList)session.getAttribute("arrayNaSessao");HashMapmapa=newHashMap();//>> qual código coloco aqui ?
nao entendi... vc ta buscando um arraylist na sessão.. onde o hashmap entra na historia?
tenta fazer dessa maneira:
// primeiro vc pega o cpf e guarda no mapHashMapmap=newHashMap();mapa.put("cpf",seuCpf);// feito isso vc guarda o HashMap com o cpf na sessão.. isso vc sabe fazer// depois vc resgataria ele da sessão da mesma forma que fez com arraylist, mas com o hashmap e pegaria o cpf do map assim:HashMapmap=getHashMap();Stringcpf=(String)map.get("cpf");
ps: é só exemplo por isso nao usei os generics ;)
F
felipevs
Assim: eu tenho uma página de cadastro … onde pede o nome, cpf … (cadastrei essas pessoas) agora ou em outra página e digito o numero do cpf … o programa tem que verificar se aquele cpf existe no arrayList da sessão, eu dei o palpite de usar hasmap mas não conheço muito bem… poderia ser tbm com outro método.
R
redr4gon
cria um Bean então
um bean não sei se vc conhece… seria uma classe com variaveis pra guardar todos os dados que tem nesse formulario de cadastro
guarda ele na sessão e não um arraylist
nos métodos get e set desse bean vc pode inclusive tratar valores nulos e vazios e com ele é facil guardar ou pegar os dados de alguem usando banco de dados.
F
felipevs
eu criei uma classe com os atributos, recebo os dados do formulário, jogo para um ArrayList() e depois jogo para sessão, essa parte ta certa… agora eu so preciso fazer um pagina onde eu digite o cpf e ele me diga se o mesmo ja foi cadastrado ou nao… (nessa páginas eu só digito o cpf que vai ser uma código de identificação da pessoa)
R
redr4gon
se vc insiste em usar arraylist…
nesse codigo ele busca por Strings armazenadas no arrayList… se vc ta armazenando nele outra classe, é só substituir os generics do arrayList pela sua classe e armazenar do mesmo modo
ArrayList<String>pessoas=newArrayList<String>();// adiciona itens na listapessoas.add("Alberto");pessoas.add("Victor");pessoas.add("João");// exibe os itens da lista usando um Iterator for(Iterator<String>it=pessoas.iterator();it.hasNext();){System.out.println(it.next());}// By: http://www.arquivodecodigos.net/dicas/764
mas eu ja fiz um projeto de cadastros na web e fiz da forma q falei ali em cima…
ao invés de guardar os itens em um arrayList, vc armazena na propria classe e essa classe vc adiciona na sessão
se houver mais de uma classe pra armazenar na sessão, dae vc usa o HashMap como falei ali em cima ao invés do arraylist
Priuli
Como os dados estão em um List, vc tera que percorrer o mesmo e ir comparando se o cpf da variavel é igual a do objeto da lista, sem muito segredos.
cpf=Integer.parseInt(request.getParameter("cpf")); //Aqui eu recebo o CPF de um form. contatocont=newcontato(); TipoMinhaClasseobjetoEncontrado=null;ArrayListlista=(ArrayList)session.getAttribute("arrayNaSessao"); for(Objectobj:lista){
TipoMinhaClassetp=(TipoMinhaClasse)obj;if(tp.getCpf().equals(cpf))){
objetoEncontrado=tp;break;
}
//objetoEncontradoéaquelequetemocpf.
}