Tecnologia do Blogger.
RSS

[androidbrasil-dev] Re: Comparar elementos em um ArrayList

O problema esta na forma de comparação pois:

== , compara a referenção de um objeto na memória
equals compara o valor dele

Ex

Integer x = 0;
Integer y =0;

// x == y - isso retorna false, pois os OBJETOS são diferentes
//x.equals(y) - isso retorna true, pois os VALORES são iguais

Felipe Costa
Analista de Sistemas Android Junior

On Oct 28, 12:50 am, Cleidimar Viana <cleidimarvi...@gmail.com> wrote:
> Vlw aeh galera, consegui da seguinte forma:
>
> int nVezes = 0;
>                 int comparaV=0;
>                 if ( tamanhoLista > 2 ){
>                 for(int p = 0; p<tamanhoLista; p++){
>                         nVezes = 0;
>                         for(int k = p+1; k< tamanhoLista; k++){
>                                 if(lista.get(p).equals(lista.get(k))){
>                                         ++nVezes;
>                                 }
>                         }
>                         if (nVezes > comparaV){
>                                 moda = lista.get(p);
>                                 comparaV = nVezes;
>                                 }
>
>                 }
>
> }
>
> On Oct 27, 2:02 pm, "leonardo." <leonardometalh...@gmail.com> wrote:
>
>
>
>
>
>
>
> > entao acho que por ser feito isso
>
> > private getValoresRepetidos(Double valor, List lista) {
> > List valoresRepetidos = new ArrayList();
> >  for (int i=0; i < lista.size(); i++) {
> >     Double valorNaLista (Double) lista.get(i);
> >     if (valorNaLista.equals(valor) {
> >       valoresRepetidos .add(valorNaLista);
> >     }
>
> >   return valoresRepetidos ;
> >  }
>
> > depois do
> >  //Armazena um valor na lista
> > * lista.add(v);*
>
> > voce chama o metodo
> > *lista2.addAll(getValoresRepetidos(Double valor, List lista) );*
>
> > Em 27 de outubro de 2011 12:48, Cleidimar Viana
> > <cleidimarvi...@gmail.com>escreveu:
>
> > > Acabei de tentar, mas não funfou!
>
> > > Acho que neste caso será um algoritmo de ordem, porque tem que ser
> > > comparado elemento por elemento e armazenar numa outra lista.
> > > Essa comparação, não estou conseguindo fazer.
>
> > > On Oct 27, 1:42 pm, "leonardo." <leonardometalh...@gmail.com> wrote:
> > > > tentou assim?
> > > > meuBotao.setOnClickListener(new View.OnClickListener(){
> > > >                public void onClick(View arg0){
>
> > > >                        Double v =
> > > > Double.parseDouble(entradaDeTexto.getText().toString());
>
> > > >                //limpa o campo de inserção de dados
> > > >                entradaDeTexto.setText(null);
>
> > > >                //Armazena um valor na lista
> > > >                lista.add(v);
>
> > > >                if (tamanhoLista > 1){
> > > > *                       if (lista.contains(v)){
> > > >                                lista2.add(v);
> > > >                        }*
> > > >                }
>
> > > >                }//Fim do onClick()
>
> > > >                }//Fim do OnClickListener()
> > > >        );//Fim do setOnClickListener()
> > > > Em 27 de outubro de 2011 12:32, Cleidimar Viana
> > > > <cleidimarvi...@gmail.com>escreveu:
>
> > > > > Sim, tentei. Mas ai que tá, o Set armazena os valores que não repetem.
> > > > > E no meu caso, quero os valores repetentes armazenados numa outra
> > > > > lista.
>
> > > > > On Oct 27, 1:24 pm, "leonardo." <leonardometalh...@gmail.com> wrote:
> > > > > > tentou usar um set ao inves de list?
>
> > > > > > Em 27 de outubro de 2011 12:15, Cleidimar Viana
> > > > > > <cleidimarvi...@gmail.com>escreveu:
>
> > > > > > > Olá Pessoal,
>
> > > > > > > como sempre, estou precisando de um Help.
>
> > > > > > > Quero encontrar qual a moda de uma ArrayList, ou seja, qual
> > > elemento
> > > > > > > que repete mais dentro desta lista. Tentei fazer da seguinte
> > > maneira
> > > > > > > como mostra abaixo, comparando o ultimo com o penúltimo elemento
> > > > > > > inserido e adicionando numa outra lista. O que pode estar errado?!
>
> > > > > > > meuBotao.setOnClickListener(new View.OnClickListener(){
> > > > > > >                public void onClick(View arg0){
>
> > > > > > >                        Double v =
> > > > > > > Double.parseDouble(entradaDeTexto.getText().toString());
>
> > > > > > >                //limpa o campo de inserção de dados
> > > > > > >                entradaDeTexto.setText(null);
>
> > > > > > >                //Armazena um valor na lista
> > > > > > >                lista.add(v);
>
> > > > > > >                if (tamanhoLista > 1){
> > > > > > >                        if (lista.get(tamanhoLista)==
> > > > > > > lista.get(tamanhoLista-1)){
> > > > > > >                                lista2.add(v);
> > > > > > >                        }
> > > > > > >                }
>
> > > > > > >                }//Fim do onClick()
>
> > > > > > >                }//Fim do OnClickListener()
> > > > > > >        );//Fim do setOnClickListener()

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário