Como filtrar arraylist

2 respostas
A

Amigos, tenho um arraylist populado por objetos da classe Ocorrencia.
O campo tipo pode receber 0 ou 1.
Preciso ora exibir em um grid apenas os registros com tipo = 0, ora os registros com tipo = 1 e ora com todos os registros (0 e 1).

public class Ocorrencia {
	private int tipo;
	private int numLinha;
	private String descricao;
    ...
}
...
public ArrayList<Ocorrencia> ocorrencias;
...

Como posso fazer essa filtragem?

Abraços.

2 Respostas

InicianteJavaHenriqu

Uma das maneiras:

for(int cont=0;cont&lt;ocorrencias.size();cont++){
       if(ocorrencias.get(cont)==0){
               //popula grid
       }
}

Ao invés de 0 ou 1 não poderia ser true ou false :?:

:thumbup: >

emanuelCruz

Nao seria melhor utilizar um Map ?
A chave seria o tipo e os valores a list de ocorrências.

Veja se te ajuda:
http://www.guj.com.br/articles/186

Se você quiser continuar usando a list, poderia criar uma método que retorne uma nova list, que contenha os itens do tipo requerido (pode ser passado por parâmetro). Para isso terá que percorrer toda a list original. Sacou ? Seria bem menos performático do que usando o Map.

Criado 21 de abril de 2012
Ultima resposta 21 de abr. de 2012
Respostas 2
Participantes 3