Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Como dar sort em um arraylist que contem inteiros

Que tal assim?

return Integer.valueOf(substring1).compareTo(Integer.valueOf(substring2));

Em 19 de março de 2015 17:53, Matheus Henrique da Silva <matheustargaryen@gmail.com> escreveu:
Tenho um conjunto dinâmico de volumes cujo o armazenamento é no formato "350 ml". Quando preciso pegar apenas o número eu faço um replace(" ml", "").
O que eu não entendo é a ordem maluca que os valores assumem, eu até agora não entendi a lógica.
O fato é que eu já tentei Collections.sort(lista) e não deu certo. Após pesquisar um pouco eu implementei um Comparator para ser usado no sort mas mesmo assim a ordem continua uma bagunça.

public static int insert(Context ctx, String value) {

ArrayList<String> lista = getVolumes(ctx);

        if (lista.contains(value)) {
            return 0;
        }

        lista.add(value);

        Collections.sort(lista, new MyComparator());
        ...
}



public static class MyComparator implements Comparator<String> {

        @Override
        public int compare(String string1, String string2) {


            String substring1 = string1.replace(" ml", "");
            String substring2 = string2.replace(" ml", "");

            return Integer.valueOf(substring1) - Integer.valueOf(substring2);
        }
    }

 

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

0 comentários:

Postar um comentário