Pesquisa dentro de um ArrayList

7 respostas
M

Pessoal,

estou querendo verificar se a existência de dois elementos dentro de um array. Existe alguma forma prática que eu consiga fazer isso?

ex.: tenho um arrayList com diversos elementos, porém quero saber se nesse arrayList existe os elementos “Agendamento” e “Confirmar Marcacao”.

7 Respostas

T

Olá malbarbosa, vc pode usar o metodo contains para verifica se a instancia de determinado objeto está no seu arraylist.

ex:

ArrayList<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
	
if(list.contains("a"))
        System.out.println("a já existe");
else
	System.out.println("a não existe");

[]'s

M

entendi…mas assim, eu quero verificar se duas strings se encontram dentro de um arrayList.

T

Seu list é de String?

Se for vc pode inserir mais uma instrução dentro do mesmo if.

ex:

if( (list.contains("a")) && (list.contains("b")) )
	System.out.println("a e b já existem");
else
	System.out.println("a e b não existem no arraylist");
M

o meu arrayList é um array de funcionalidade.
Nesse array eu preciso saber se duas funcionalidades estão presentes. É esse o problema.

T

Funcionalidade é um objeto? Se for a regra é a mesma, a única diferença nesse caso é que vc precisa implementar corretamente os metodos equals e hashcode na sua classe Funcionalidade, fazendo isto vc pode usar o “contains” igualzinho!

[]'s

M

o equals da classe funcionalidade ta assim:

public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Funcionalidade other = (Funcionalidade) obj;
        if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

como ficaria para eu adaptar?

T

Se vc não estiver usando este equals para nenhuma outra comparação vc pode altera-lo para usar o campo que vc deseja, neste exemplo vc esta usando o id, mas vc pode alterar para usar a “descricao” que será o campo que vc esta comparando no seu metodo contains.

Criado 11 de fevereiro de 2010
Ultima resposta 11 de fev. de 2010
Respostas 7
Participantes 2