[RESOLVIDO] Alterar do index de um arraylist

Ola amigos,

Estou precisando alterar um valor num determinado index do arraylist após encontrar o id passado pelo usuario:

Obrigado pela atenção.

Segue o código:



public static void alterar(String id_busca,Pessoa pessoa) {
        try {

            //lista pessoa esta assim na classe pessoa
            //public static List<Pessoa> lista_pessoa;

            //limite
            int max = Pessoa.lista_pessoa.size();
         
            //Percorre a lista
            for (int i = 0; i < max; i++) {
                String id = Pessoa.lista_pessoa.get(i).getId_pessoa();

                //encontrando o id altera o valor do index da lista
                if(id.equals(id_busca))
                {
                    //adiciona 1 ao contador para inserir no nome 
                    //*NESTA LINHA QUE ESTA O ERRO*
                    Pessoa.lista_pessoa.add(i+1, pessoa.getNome());
                }



            }
        } catch (Exception e) {
            System.out.println("ERRO: " + e);
        }


    }

Qual o erro que acontece quando vc executa esse código?.. À primeira vista vc esta adicionando um registro em uma posição maior que a buscada… sugiro vc pesquisar pela definição de containers em java http://www.dca.fee.unicamp.br/cursos/PooJava/graphic/containers.html

Ola…

Pessoa.lista_pessoa.add(i+1, pessoa.getNome());  //o idx do list comeca em zero, sendo assim nao precisa se preocupar com o indice.

Pessoa.lista_pessoa.add(pessoa.getNome()); //mude assim que vai funcionar.

Obrigado pela atenção pessoal mais ja resolvi o problema.
Dei uma relaxada e no dia seguinte vi que o problema era que a lista guardava o objeto pessoa logo:

Pessoa.lista_pessoa.add(i, pessoa); 

“Viste” ou leste a resposta ao outro tópico? http://www.guj.com.br/posts/list/130220.java