[RESOLVIDO] Como checkar se existe mais de uma vez?
6 respostas
vinnyparker
Ola pessoal. To aqui com uma duvida:
Tenho um banco de dados com cadastro de funcionarios.
na tabela funcionarios, eu tenho varios cadastros, com dados documentais e tal.
Eu preciso saber se existe cpf duplicado, e tomar uma decisao a respeito disso.
Entao pensei numa lista.
Essa lista seria alimentada da seguinte forma:
List<String> listaCpf = new ArrayList<Strng>();if(listaCpf.contains(cnpjCpf){
cnpjCpf=cnpjCpf+"-"+matricula;
}
o problema eh que Sempre vai haver um cnpjcpf ali.
Eu preciso eh que ele concatene o cnpjcpf com a matricula, se o cpf existir mais de uma vez na lista.
Como eu faço isso?
Agradeço desde já a quem puder me ajudar
Não sei se entendi o que você quer. Veja se é isso.
List<String>listaCpf=newArrayList<Strng>(); if(listaCpf.contains(cnpjCpf){
listaCpf.remove(cnpjCpf); // <-- Remove da listacnpjCpf=cnpjCpf+"-"+matricula;listaCpf.add(cnpjCpf); // <-- Adiciona na lista
}
Flw
vinnyparker
eh mais ou menos.
na tabela eu tenho por exemplo, 12x o cadastro do mesmo funcionario,
O que e quero é checar se o cpf desse funcionario esta na lista mais de uma vez, se tiver, ele junta o cpf e a matricula.
Esse codigo postado por mim, seria um metodo que alimentaria a lista, e cada vez que o resultSet fosse alimentado, checava se o cpf esta mais de uma vez na lista
Leandro_M
Este método retorna o número de ocorrência de um determinado valor em um objeto List
public int ocorrencias(List<String> list, String busca) {
int ocor = 0;
for (int i = 0; i < list.size(); i++) {
if (list.contains(busca)) {
list.remove(i);
list.add(i, String.valueOf(System.currentTimeMillis()));
ocor++;
/*if(ocor >1){
break;
}*/
}
}
return ocor;
}
Agora acho que é só adequar a sua necessidade.
Abs
vtr002
é um trabalho com 2 listas:
Uma com sua coleção
E uma inicialmente vazia
Você vai passando os itens da lista de funcionarios e vai colocando eles na outra lista. Nesse momento que você checa se ja tem.
Leandro_M
Essa idéia aí do vtr002 também é muito boa.
vinnyparker
Consegui de uma maneira mais facil
privateSet<String> cpfList = new HashSet<String>(); StringrecebeCpf=resultSet.getString("cpf");if(!cpfList.contains(recebeCpf)){
cpfList.add(cnpjCpf);}else{
cnpjCpf=cnpjCpf+"-"+matricula;}