Java Programación: las limitaciones de las matrices

Arrays en Java son agradables, pero tienen algunas limitaciones serias. Imagínese que usted almacena nombres de los clientes en un orden predeterminado. Su código contiene una matriz y la matriz tiene espacio para 100 nombres.

Nombre String [] = new String [100] -para (int i = 0- i lt; 100- i ++) {nombre [i] = new String () -}

Todo va bien hasta que, un día, el número de cliente 101 aparece. A medida que su programa se ejecuta, se introducen los datos de cliente 101, esperando desesperadamente que la matriz con 100 componentes puede ampliar para satisfacer sus crecientes necesidades.

No tuve esa suerte. Las matrices no se expanden. Su programa se bloquea con un ArrayIndexOutOfBoundsException.

" En mi próxima vida, voy a crear matrices de longitud 1000, nº 148; te dices a ti mismo. Y cuando tu próxima vida alrededor de los rollos, a hacer precisamente eso.

Nombre String [] = new String [1000] -para (int i = 0- i lt; 1000- i ++) {nombre [i] = new String () -}

Pero durante su próxima vida, una recesión económica se produce. En lugar de tener 101 clientes, usted tiene sólo 3 clientes. Ahora estás perdiendo espacio para 1.000 nombres cuando el espacio para los 3 nombres haría.

¿Y qué si no se produce una recesión económica? Estás navegando junto con su matriz de tamaño 1000, utilizando un ordenado 825 espacios en la matriz. Los componentes con índices de 0 a 824 se están utilizando, y los componentes con índices de 825 a 999 están esperando en silencio por cubrir.

Un día, un cliente nuevo aparece. Debido a que sus clientes se almacenan en orden (en orden alfabético por apellido, ordenados por número de la Seguridad Social, lo que sea), que quiere exprimir este cliente en el componente correcto de su matriz. El problema es que este cliente pertenece desde muy temprano en la matriz, en el componente con el índice 7. ¿Qué sucede entonces?

Usted toma el nombre de número de componente 824 y moverlo a componente 825. Luego de tomar el nombre de componente 823 y moverlo al componente 824. Toma el nombre de componente 822 y moverlo a componente 823.

Sigues haciendo esto hasta que haya movido el nombre del componente 7. Luego, coloque el nombre del nuevo cliente en el componente 7. ¿Qué dolor de una! Claro, el equipo no se queja. Pero a medida que se mueve alrededor de todos estos nombres, pierdes el tiempo de procesamiento, usted pierde el poder, y que los residuos de todo tipo de recursos.

" En mi próxima vida, voy a dejar tres componentes vacías entre cada dos nombres ". Y, por supuesto, su negocio se expande. Hasta que, finalmente, usted encuentra que tres no son suficientes.




» » » » Java Programación: las limitaciones de las matrices