vezes, por que ela nao vai precisar ser copiada de 10 em 10, mas sim de 1000 em 1000.Exemplo de como nao fazer: ArrayList lista = new ArrayList(); Exemplo de como se deve fazer: ArrayList<Objeto> lista = new ArrayList<Objeto>(Numeros.CEM);Pesquisas e ordenacoes em ListasNao tente reinventar a roda, nao ha a necessidade de criar um algoritmo com lacos e variaveis para fazer uma pesquisa ou ordenar uma lista, a Sun ja criou formas mais faceis e leves para isso.Algoritmos como quicksort, bubblesort, binariesort, so sao utilizados para aprender logica de programacao e em linguagens estruturadas, em orientacao a objetos so se deve recorrer a este tipo de algoritmo em casos extremamente extremos, onde nao existe nenhuma outra possibilidade de se resolver o problema utilizando a propria linguagem ou o framework.Para fazer pesquisas, use o MAP (ou similares), que ja foi criado para esse tipo de funcionalidade.Para ordenar uma lista, implemente o Comparator.Exemplo de MAP.No proprio for, onde voce recupera ou cria os dados, voce pode criar um MAP no lugar do List ou ArrayList que ja esta utilizando. O MAP funciona no esquema chave / valor. Na chave voce define o termo que sera pesquisado, e no valor voce insere o objeto inteiro.Criacao de um MAP: Map<Integer, String> mapa = new HashMap<Integer, String>(); for (Objeto obj : minhaLista) { mapa.put(obj.getCpf(), obj); }Lembre-se de utilizar para chave alguma coisa que nao se repita, como CPF, por exemplo.Tambem e possivel utilizar algum controle proprio, como numeros, ou qualquer outra coisa.Para pesquisar alguma coisa nesse mapa, deve-se verificar se existe algum objeto com a chave informada (containsKey), e se existir, pega esse objeto, simples assim. Nem precisa de loop. if(mapa.containsKey(111222333)) { Objeto = mapa.get(111222333); }Para ordenar uma lista, de forma simples e direta. ArrayList<Objeto> lista = new ArrayList<Objeto>(Numeros.CEM); Collections.sort(lista, new Comparator<Objeto>() { public int compare(Objeto r1, Objeto r2) { if (r1.getIdade() < r2.getIdade()) { return Numeros.MENOS_UM; } else if (r1.getIdade() > r2.getIdade()) { return Numeros.UM; } else { return Numeros.ZERO; } } });Explicando, eu tenho uma lista qualquer e quero ordena-la, entao eu utilizo o metodo sort da classe Collections, esse metodo precisa da lista que sera ordenada e de um Comparator dessa lista, voce pode criar uma classe ou metodo que retorne esse comparator ou pode cria-lo na hora, como fiz no exemplo acima.O comparator precisa ter um metodo compare que recebe dois objetos, do mesmo tipo de objeto da lista, esse metodo compare deve retornar -1 se o primeiro objeto for menor, ou deve retornar 1 se o primeiro objeto for maior, ou deve retornar zero se os dois forem iguais. Voce que define o que vai decidir se um objeto e maior ou menor, voce pode comparar o que quiser, qualquer uma das variaveis do objeto, o que o sort precisa e dos retornos -1, 1 e 0.Strings e Constantes.Utilizar strings diretamente nos metodos e mau.Utilizar constantes em uma classe propria para constantes e bom.Exemplo de como nao fazer: String texto = alguma coisa; int retorno = 0;Exemplo de como fazer: Classe de constantes (ViewConstants, Numeros, etc.) String texto = ViewConstants.TEXTO;onde TEXTO esta