Vídeo: Soma recursiva dos elementos do vetor (arranjo unidimensional) em Java - Canal do Código 2024
Arrays em Java são agradáveis, mas eles têm algumas limitações sérias. Imagine que você armazene nomes de clientes em uma ordem predeterminada. Seu código contém uma matriz e a matriz possui espaço para 100 nomes.
String name [] = new String [100]; para (int i = 0; i <100; i ++) {name [i] = new String ();}
Tudo está bem até que, um dia, o número de cliente 101 apareça. À medida que seu programa é executado, você insere dados para o cliente 101, esperando desesperadamente que a matriz com 100 componentes possa expandir para atender às suas necessidades crescentes.
Nenhuma sorte. Arrays não se expandem. Seu programa falha com uma ArrayIndexOutOfBoundsException.
"Na minha próxima vida, vou criar arrays de comprimento 1, 000", você diz a si mesmo. E quando sua próxima vida rola, você faz exatamente isso.
String name [] = new String [1000 ]; para (int i = 0; i << 1000 ; i ++) {name [i] = new String ();} Mas durante sua próxima vida, ocorre uma recessão econômica. Em vez de ter 101 clientes, você tem apenas 3 clientes. Agora você está desperdiçando espaço para 1 000 nomes quando o espaço para 3 nomes faria.
Um dia, aparece um novo cliente. Como seus clientes estão armazenados em ordem (alfabeticamente por sobrenome, numericamente pelo número da Segurança Social, seja o que for), você deseja espremer esse cliente no componente correto de sua matriz. O problema é que este cliente pertence muito cedo na matriz, no componente com índice 7. O que acontece então?
Você continua fazendo isso até que você tenha movido o nome no componente 7. Então você coloca o nome do novo cliente no componente 7. Que dor! Claro, o computador não se queixa. Mas à medida que você se move em torno de todos esses nomes, você desperdiça o tempo de processamento, você desperdiça energia e desperdiça todos os tipos de recursos.
"Na minha próxima vida, deixarei três componentes vazios entre cada dois nomes. "E, claro, o seu negócio se expande. Até, eventualmente, você achou que três não são suficientes.