Entradas Destacadas

Consejos Para Programar Aplicaciones Gráficas Con... Uno de los mayores dolores de cabeza para los que programamos en Java es el desarrollo de aplicaciones con interfaces gráficas hechas en Swing, de hecho la mayoría de nosotros...

¡Quiero saber más!

JLabel Multilínea en Java Normalmente utilizamos las etiquetas en Java con una sola línea de texto, sin embargo a veces es útil ocupar las etiquetas Java con varías líneas de texto en su interior,...

¡Quiero saber más!

Popularidad De Los Lenguajes De Programación Septiembre... Si vas a empezar a programar, seguramente necesites ayuda para elegir un lenguaje de programación, es por ello que publico la siguiente tabla que muestra la popularidad de...

¡Quiero saber más!

¿Que Lenguaje De Programación Elegir? Cuando queremos empezar en serio a programar la primera pregunta que se nos viene a la mente es, ¿que lenguaje es el mejor?, lo malo es que no hay una respuesta absoluta...

¡Quiero saber más!

Una Introducción a Groovy Muchos se quejan de que Java es complicado, y apoyan lenguajes de programación del tipo Ruby, Python o PHP por ser lenguajes tipo scripting, y necesitando con ellos menos...

¡Quiero saber más!

PrograMundo | ¿Listos? Juguemos a ser Dios. Rss

Vectores o Arrays en Java

Escrito el : 28-02-2009 | Escrito por: robertbriones | En : General, Java, Tips

5

Los vectores o arrays son de mucha utilidad y existen en muchos lenguajes de programación, sin embargo para los programadores novatos la utilización de vectores les resulta confusa al principio, así que trataré de explicarlo de una manera sencilla y funcional.

Normalmente utilizamos variables para guardar valores en Java, dichas variables tienen un tipo y almacenan un valor el cual puede ir cambiando a lo largo del programa, sin embargo muchas veces es necesario guardar mas de un dato del mismo tipo y relacionados entre sí y lo que hacemos es crear una variable para cada valor.

Por ejemplo supongamos que queremos guardar el nombre de 5 personas, lo primero que se nos ocurre es crear 5 variables de tipo String para guardar esos datos:

String nombre1=javax.swing.JOptionPane.showInputDialog("Escribe el  nombre 1");
 
String nombre2=javax.swing.JOptionPane.showInputDialog("Escribe el  nombre 2");
 
String nombre3=javax.swing.JOptionPane.showInputDialog("Escribe el  nombre 3");
 
String nombre4=javax.swing.JOptionPane.showInputDialog("Escribe el  nombre 4");
 
String nombre5=javax.swing.JOptionPane.showInputDialog("Escribe el  nombre 5");

Lo malo de esto es que se utilizan demasiadas variables, en este caso tan solo fueron 5 por el ejemplo, pero si hubieran sido 20 nombres entonces el programa se vuelve demaciado extenso y dificil de manejar.

Pues los vectores o arrays nos permiten almacenar multiples valores de un mismo tipo en una sola variable, y nos evitan tener que usar multiples variables para multiples datos de un mismo tipo, en eso rádica su utilidad. De manera que el código anterior utilizando vectores quedaría de la siguiente manera:

String [] nombres = new Strint[5];
 
for (int i=0;  i "menor que" nombres.length ;  i++){
nombres[i] = javax.swing.JOptionPane.showInputDialog("Escribe el  nombre "+i);
}

Mas simple ¿no lo crees?, ahora veamos poco a poco lo que se hizo, un vector se define de la misma manera que una variable, la diferencia es que lleva un par de corchetes despues del tipo de dato, estos también pueden ir despues del nombre de la variable, la definición de un vector puede ser de cualquiera de las siguientes maneras:

tipo_dato [] variable;
 
tipo_dato variable [];

Sin embargo un vector no se puede utilizar hasta que sea creado, para ello usaremos la palabra reservada “new”, en donde también definiremos el tamaño del vector, es decir el número de datos del mismo tipo que puede almacenar. Esto se hace de la siguiente forma:

variable = new tipo_dato [tamaño];

donde variable es el nombre de la variable previamente definida, tipo_dato es el tipo de dato utilizado para definir la variable, y tamaño es un número entero positivo que simboliza el número de elementos que podrá guardar el vector.

El paso anterior puede hacerse individualmente, o en conjunto con la definición de la variable, por ejemplo el siguiente ejemplo también es valido:

int [] edad =  new int [10];

En donde estamos definiendo una variable vector de tipo entero (int) y al mismo tiempo hacemos la creación del vector con una capacidad de 10 elementos. Despues de esto ya podemos utilizar nuestro vector, pero aún no sabemos como funciona.

Es simple, los vectores se manejan por medio de un indice númerico entero, en donde el indice representa la posicion del vector. ¿Confuso? No te preocupes vamos a verlo con un ejemplo, suponiendo que tomemos el vector “edad” definido arriba podriamos guardar un dato entero en el vector en cualquiera de sus posiciones:

// Guardamos el valor entero "25" en la posición "4" de nuestro vector "edad"
 
edad [4]  = 25;
 
// Guardamos el valor entero "334" en la posición "7" de nuestro vector "edad"
 
edad [7]  = 334;

Como puedes ver se pueden guardar datos en los vectores en posiciones no consecutivas aunque por lo general no lo hagamos así, hay que tener en cuenta que el indice debe estar comprendido entre cero y el tamaño del vector menos 1, es decir que en el caso de nuestro vector edad, el indice puede ser de cero a 9 (ya que 10 – 1 = 9 ) por lo que si ponemos en el indice algo como esto:

edad [10]= 666 ;

Nos dará un error debido a que estamos queriendo accesar a un indice no existente, por ello es que hay que ser cuidadosos a la hora de manejar los indices de un vector.

En el ejemplo de los “nombres” vimos que utilizamos un ciclo para pedir los datos, supongo que ahora ya entenderás porque lo utilizamos, el ciclo inicializa la variable “i” en cero porque el cero es el indice cero es la primera posición de un vector, y condicionamos a que entre al ciclo mientras el indice sea menor que el tamaño del vector, para ello hacemos uso del atributo “length” que es una variable que todos los vectores tienen en donde se guarda el tamaño del vector.

for (int i=0;  i "menor que" nombres.length ;  i++){
//En lugar de utilizar un indice fijo podemos utilizar una variable en este caso "i"
nombres[i] = javax.swing.JOptionPane.showInputDialog("Escribe el  nombre "+i);
}

En realidad “menor que” es el signo “<” pero por alguna razón no me deja mostrarlo en el código así que si quieres probarlo, recuerda sustituirlo.

Esto es lo básico sobre arrays o vectores, es importante destacar que puedes utilizar cualquier tipo de dato para definir un vector, desde los primitivos hasta los tipo objeto, y que no puedes imprimir el valor de un vector directamente ya que esto imprimiria la referencia del objeto, para imprimir un vector hay que imprimir cada uno de sus indices.

¿Alguna duda? No olvides comentarla ;)

Comments (5)

Hola, estoi aprendiendo a programar en java y ando medio perdido,me parecio excelente el uso de los vectores para ahorrarme definiciones,… weno la consulta que te kiero hacer es sobre como discriminar una variable desde un grupo, x ejemplo pido 10 valores, y de estos quiero formar un subconjunto de 8 valores eliminando los valores de los extremos, onda el mas chiko y el mas grande no me sirven, como podria traducir esta selección al lenguaje??

Mmmmm mi vida jeje que lindo lo explicaste, espero que no sea explicación pirateada eh? jajaja sino caeras de mi gracia jojo

Wow… Que facilidad de palabra chamaco!

olaaa… muy buena la informacion… pero tengo una gran duda… como hacemos cuando no queremos saber el tamaño del vector. oase ke tenga posiciones indefinidas.?

En esos casos es mejor la utilizacion de un TAD como el ArrayList en java.

gracias me ayudo mucho

Escribe un comentario