Vectores, array y sus métodos

16
VECTORES, ARRAY Y SUS MÉTODOS Los arrays de java (vectores, matrices, hiper-matrices de mas de dos dimensiones) se tratan como objetos de una clase predefinida. Los arrays son objetos, pero con algunas características propias.los arrays pueden ser asignados a objetos de la clase object y los métodos de object pueden ser utilizados con arrays. introducción

Transcript of Vectores, array y sus métodos

Page 1: Vectores, array y sus métodos

VECTORES, ARRAY Y SUS

MÉTODOS

Los arrays de java (vectores, matrices, hiper-matrices de mas de dos dimensiones) se tratan como objetos de una clase predefinida. Los arrays son objetos, pero con algunas características propias.los arrays pueden ser asignados a objetos de la clase object y los métodos de object pueden ser utilizados con arrays.

introducción

Page 2: Vectores, array y sus métodos

ARRAY

Un array en Java es una estructura de datos que nos permite almacenar un conjunto de datos de un mismo tipo. El tamaño de los arrays se declara en un primer momento y no puede cambiar luego durante la ejecución del programa, como sí puede hacerse en otros lenguajes.

Page 3: Vectores, array y sus métodos

MÉTODOS Y PROPIEDADES DE LOS ARRAYS

concatComo su nombre sugiere, concatena. Es decir, fusiona 2 Arrays. Esto es bastante simple, pero hay que tener en cuenta que fusiona 2 Arrays para formar otro .

En este caso, tenemos 2 Arrays, uno que contiene usuarios de sexo masculino y otro que contiene a las de sexo femenino, vamos a fusionarlos para obtener un Array con todos los usuarios, sin distinción:

Page 4: Vectores, array y sus métodos

join

Muy útil cuando queremos mostrar los Arrays. Lo que hace es convertir un Array a un String (cadena) reemplazando las comas por lo que sea que escribamos como parámetro. Es más simple si lo vemos con un ejemplo:

pop

Elimina el último elemento del Array y devuelve ese elemento:

Page 5: Vectores, array y sus métodos

pushAgrega un elemento al final del Array.

el push también respeta la estructura de los Arrays multidimensionales y que devuelve el largo del Array luego de incluido el/los elementos.

reverse

Como indica su nombre, invierte un Array.

Este método devuelve el Array invertido.

Page 6: Vectores, array y sus métodos

shiftElimina el primer elemento del Array.

Además, devuelve el elemento eliminado, pero al igual que en el caso del pop, se puede prescindir de obtenerlo.

sliceEste método es un poco más complicado que los anteriores. Lo que hace es tomar elementos de un Array para ubicarlos en otro, pero sin modificar el Array original.

Supongamos que tenemos un abecedario en un Array: a, b, c, d, e, f, g, h, i, j.....

Cada letra se corresponde con un valor numérico. Entonces, si queremos obtener un Array que consista de todas las letras de la c a la i, usamos un slice.

Primero, observamos que la c es el elemento de índice 2 y que la i es el de índice 8.

Page 7: Vectores, array y sus métodos

Observen cómo el índice final es el 9 en lugar del 8. Esto se debe a que no devuelve el último elemento. Es decir, si hacemos esto:

Devuelve el elemento 2, 3, 4, 5, 6 y el 7. El 8 no lo incluye.

También podemos usar un índice negativo, que indica que toma los últimos x elementos, donde x es el número negativo que pasemos como parámetro:

spliceÉste es otro de los métodos complicados. Similar al slice, pero modifica el Array original borrando elementos. Además, devuelve los elementos eliminados. A diferencia del slice, lo que hacemos es pasarle el primer índice y el número de elementos a eliminar.

Page 8: Vectores, array y sus métodos

toStringSimplemente, convierte el Array en un String. Podría no resultar muy útil, pero es la mejor manera de comparar Arrays (recordemos que los Arrays solo eran considerados iguales si uno es la copia del otro). Si convertimos 2 Arrays a cadenas y las comparamos, vamos a obtener true si los 2 Arrays son iguales.

unshiftSimilar al push. En este caso, agrega los elementos al principio del Array.

al igual que el push, unshift devuelve el elemento agregado y que respeta los Arrays multidimensionales.

lengthDevuelve o modifica el número de elementos de un Array. Podemos usar este método para obtener cuántos elementos tiene el Array y, también para recortar un Array.

Page 9: Vectores, array y sus métodos

CARACTERISTICAS IMPORTANTES DE LOS ARRAYS:

•Los arrays se crean con el operador new seguido del tipo y numero de elementos.•Se puede acceder al numero de elementos de un array con la variable miembro implícita length(por ejemplo, vec.length)•Se acede a los elementos de un array con los corchetes [] y un índice que varia de 0 a length-1.•Se puede crear arrays de objetos de cualquier tipo.en principio un array de objetos es un array de referencia que hay que completar llamando al operador new.•Los elementos de un array se inicializan al valor por defecto del tipo correspondiente (cero para valores numéricos, el carácter nulo para char, false para boolean, null para String y para referencias).•Como todos los objetos, los arrays se pasan como argumentos a los métodos por referencia.•Se pueden crear arrays anónimos (por ejemplo, crear un nuevo array como argumento actual en la llamada a un método).

Page 10: Vectores, array y sus métodos

INICIALIZACION DE ARRAYS

1. Los arrays se pueden inicializar con valores entre llaves {…} separados por comas.

2.También los arrays de objetos se pueden inicializar con varias llamadas a new dentro de unas llaves {…}

3.Si se igualan dos referencias a un array no se copia el array, sino que se tiene un array con dos nombres, apuntando al mismo y único objeto.

4.Creación de una referencia a un array. Son posibles dos formas:

double[] x; //preferible

double x [];

5.Creación del array con operador new:

X = new double [100];

6.Las dos etapas 4 y 5 se pueden unir en una sola:

double [] x = new double [100];

Page 11: Vectores, array y sus métodos

ARRAYS BIDIMENSIONALES

Los arryas bidimensionales de java se crean de un modo similar al c++ (con reserva dinámica de memoria). En java una matriz es un vetor de vectores fila, o mas en concreto un vector de referencias a los vectores fila. Con este esquema, cada fila podrían tener un numero de elementos diferente.

Una matriz se puede crear directamente en la forma

int [] [] mat= new int [3] [4];

O bien se puede crear de modo dinámico dado los siguientes pasos:

Crear la referencia indicado con un doble corchete que es una referencia a matriz

Int [] [] mat;

Crear el vector de referencias a las filas,

Mat = new int [nfilas] [];

Reservar memoria para los vectores correspondientes a las filas

for (int i=0; i<nfilas; i++);

mat [i] 0 new int [ncols];

Page 12: Vectores, array y sus métodos

VECTOR

Un vector es similar a un array, la diferencia es que un vector crece automáticamente cuando alcanza la dimensión inicial máxima. Además, proporciona métodos adicionales para añadir, eliminar elementos, e insertar elementos entre otros dos existentes.

Page 13: Vectores, array y sus métodos

CREAR UN VECTOR

•Para usar la clase Vector hemos de poner al principo del archivo del código

fuente la siguiente sentencia import

import java.util.*;

•Cuando creamos un vector u objeto de la clase Vector, podemos especificar su dimensión inicial, y cuanto crecerá si rebasamos dicha dimensión.

Vector vector=new Vector(20, 5);

•Tenemos un vector con una dimensión inicial de 20 elementos. Si rebasamos dicha dimensión y guardamos 21 elementos la dimensión del vector crece a 25.

•Al segundo constructor, solamente se le pasa la dimensión inicial.

Vector vector=new Vector(20);

•Si se rebasa la dimensión inicial guardando 21 elementos, la dimensión del vector se duplica. El programador ha de tener cuidado con este constructor, ya que si se pretende guardar un número grande de elementos se tiene que especificar el incremento de la capacidad d el vector, si no se quiere desperdiciar inútilmente la memoria el ordenador.

•Con el tercer constructor, se crea un vector cuya dimensión inicial es 10.

Vector vector=new Vector();

•La dimensión del vector se duplica si se rebasa la dimensión inicial, po r ejemplo, cuando se pretende guardar once elementos.

Page 14: Vectores, array y sus métodos

AÑADIR ELEMENTOS AL VECTOR

Hay dos formas de añadir elementos a un vector.•Podemos añadir un elemento a continuación del último elemento del vector, mediante la función miembro addElement.

v.addElement("uno");

Podemos también insertar un elemento en una determinada posición, mediante

insertElementAt.

 • El segundo parámetro indica el lugar que ocupará el nuevo objeto. Si tratamos de insertar un elemento en una posición que no existe todavía obtenemos una excepción del tipo ArrayIndexOutOfBounds.

Por ejemplo, si tratamos de insertar un elemento en la posición 9 cuando el vector solamente tiene cinco elementos

Para insertar el string "tres" en la tercera posición del vector v, escribimos

v.insertElementAt("tres", 2); // se comienza a contar desde la posición 0

 

Page 15: Vectores, array y sus métodos

•Para saber cuántos elementos guarda un vector, se llama a la función miembro

size.

System.out.println("nº de elementos " +v.size());

 •Para saber la dimensión actual de un vector se llama a la función miembro

capacity.

System.out.println("dimensión "+v.capacity());

 •Podemos eliminar todos los elementos de un vector, llamando a la función

Miembro

removeAllElements. O bien, podemos eliminar un elemento concreto,

por ejemplo el que guarda el string "tres".

v.removeElement("tres");

 •Podemos eliminar dicho elemento, si especificamos su índice. (posición)

v.removeElementAt(2);

Page 16: Vectores, array y sus métodos

Graci

as