"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que não consigo acessar espaços alocados em um ArrayList ao especificar um tamanho inicial?

Por que não consigo acessar espaços alocados em um ArrayList ao especificar um tamanho inicial?

Publicado em 2024-11-08
Navegar:775

Why can\'t I access allocated spaces in an ArrayList when specifying an initial size?

Compreendendo a capacidade de ArrayList versus tamanho

P: Por que você não pode acessar inicialmente os espaços alocados para um ArrayList se você especificar um tamanho inicial ?

R: A confusão surge do mal-entendido sobre a diferença entre o tamanho e a capacidade de um ArrayList.

O tamanho de um ArrayList denota o número de elementos que contém, enquanto a capacidade representa o número máximo de elementos que pode conter antes de precisar alocar mais memória. Definir uma capacidade inicial otimiza o desempenho pré-alocando espaço para um determinado número de elementos, mas não preenche automaticamente a lista com tantos elementos.

Por exemplo, quando você cria um ArrayList com uma capacidade inicial de 10, a lista está inicialmente vazia e a tentativa de adicionar um elemento no índice 10 resultará em uma exceção fora dos limites.

Para adicionar elementos ao ArrayList, você precisa usar o método add, especificando o índice onde o elemento deve ser inserido. Se você quiser preencher a lista com 10 elementos, você pode usar um loop:

for (int i = 0; i 

Ao usar esta técnica, você pode adicionar 10 elementos e manipulá-los nos índices de 0 a 9 sem problemas de limite.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3