PDF de programación - Unidad II - Arrays

Imágen de pdf Unidad II - Arrays

Unidad II - Arraysgráfica de visualizaciones

Publicado el 12 de Junio del 2018
617 visualizaciones desde el 12 de Junio del 2018
148,2 KB
16 paginas
Creado hace 16a (20/09/2007)
Unidad II - Arrays



Arrays de Una Dimensión

Utilizar sólo un Inicializador
Utilizar sólo la Palabra Clave "new"
Utilizar la palabra clave "new" y un

Inicializador

Trabajar con un array uni-dimensional
Algoritmos de búsqueda-lineal, búsqueda-binaria y

ordenación de burbuja
Búsqueda Lineal
Búsqueda Binaria
Ordenación de Burbuja
Arrays de Dos Dimensiones

Utilizar sólo un Inicializador
Utilizar sólo la palabra clave "new"
Utilizar la palabra clave "new" y un

inicializador



Java en castellano (Tutorial Estructuras de Datos y Algoritmos en Java)
http://www.programacion.com/java/tutorial/jap_data_alg/

Tutorial original en Inglés
http://www.javaworld.com/



Arrays

El array es una de las estructuras de datos más ampliamente utilizada por su flexibilidad para derivar en
complejas estructuras de datos y su simplicidad. Empezaremos con una definición: un array es una
secuencia de elementos, donde cada elemento (un grupo de bytes de memoria que almacenan un único
ítem de datos) se asocia con al menos un índice (entero no-negativo). Esta definición lanza cuatro puntos
interesantes:

• Cada elemento ocupa el mismo número de bytes; el número exacto depende del tipo de datos

del elemento.

• Todos los elementos son del mismo tipo.
• Tendemos a pensar que los elementos de un array ocupan localizaciones de memoria

consecutivas. Cuando veamos los arrays bi-dimensionales descubrirá que no es siempre así.

• El número de índices asociados con cada elemento es la dimensión del array

Esta sección se enfoca exclusivamente en arrays de una y dos dimensiones porque los arrays de más
dimensiones no se utilizan de forma tan frecuente.

Nota:

Arrays de Una Dimensión

El tipo de array más simple tiene una dimensión: cada elemento se asocia con un único índice. Java
proporciona tres técnicas para crear un array de una dimensión: usar sólo un inicializador, usar sólo la
palabra clave new, y utilizar la palabra clave new con un inicializador.

Utilizar sólo un Inicializador

Utilizando un inicializador se puede utilizar cualquiera de estas dos sintaxis:

type variable_name '[' ']' [ '=' initializer ] ';'
type '[' ']' variable_name [ '=' initializer ] ';'

Donde el inicializador tiene la siguiente sintaxis:

'{' initial_value1 ',' initial_value2 ',' ... '}'

El siguiente fragmento ilustra como crear un array de animales:

// Create an array of animals.
String animals [] = { "Tiger", "Zebra", "Kangaroo" };

Utilizar sólo la Palabra Clave "new"

Utilizando la palabra clave new se puede utilizar cualquiera de estas dos sintaxis:

type variable_name '[' ']' '=' 'new' type '[' integer_expression ']' ';'
type '[' ']' variable_name '=' 'new' type '[' integer_expression ']' ';'

Para ambas sintaxis:








variable_name especifica el nombre de la variable del array uni-dimensional
type especifica el tipo de cada elemento. Como la variable del array uni-dimensional contiene
una referencia a un array uni-dimensional, el tipo es type []
La palabra clave new seguida por type y seguida por integer_expression entre corchetes
cuadrados ([]) específica el número de elementos. new asigna la memoria para los elementos del
array uni-dimensional y pone ceros en todos los bits de los bytes de cada elemento, lo que
significa que cada elemento contiene un valor por defecto que interpretamos basándonos en su
tipo.
= asigna la referencia al array uni-dimensional a la variable variable_name.

Los desarrolladores Java normalmente sitúan los corchetes cuadrados después del tipo (int []
test_scores) en vez de después del nombre de la variable (int test_scores []) cuando declaran
una variable array. Mantener toda la información del tipo en un único lugar mejora la lectura del código.

Truco:

El siguiente fragmento de código utiliza sólo la palabra clave new para crear un array uni-dimensional que
almacena datos de un tipo primitivo:

int [] test_scores = new int [4];

int [] test_scores declara una variable array uni-dimensional (test_scores) junto con su tipo de
variable (int []). El tipo de referencia int [] significa que cada elemento debe contener un ítem del
tipo primitivo entero. new int [4] crea una array uni-dimensional asignando memoria para cuatro
elementos enteros consecutivos. Cada elemento contiene un único entero y se inicializa a cero. El
operador igual a (=) asigna la referencia del array uni-dimensional a test_scores. La siguiente figura
ilustra los elementos y la variable array uni-dimensional resultante:



Cuidado:



Cuando se crea un array uni-dimensional basado en un tipo primitivo, el compilador requiere que
aparezca la palabra clave que indica el tipo primitivo en los dos lados del operador igual-a. De otro modo,
el compilador lanzará un error. Por ejemplo, int [] test_scores = new long [20]; es ilegal
porque las palabras claves int y long representan tipos primitivos incompatibles.

Los arrays uni-dimensionales de tipos primitivos almacenan datos que son valores primitivos. Por el
contrario, los arrays uni-dimensiones del tipo referencia almacenan datos que son referencias a objetos.
El siguiente fragmento de código utiliza la palabra clave new para crear una pareja de arrays uni-
dimensionales que almacenan datos basados en tipo referencia:

Clock [] c1 = new Clock [3];
Clock [] c2 = new AlarmClock [3];

Clock [] c1 = new Clock [3]; declara una variable array uni-dimensional, (c1) del tipo Clock [],
asigna memoria para un array uni-dimensional Clock que consta de tres elementos consecutivos, y
asigna la referencia del array Clock a c1. Cada elemento debe contener una referencia a un objeto
Clock (asumiendo que Clock es una clase concreta) o un objeto creado desde una subclase de Clock y
lo inicializa a null.

Clock [] c2 = new AlarmClock [3]; se asemeja a la declaración anterior, excepto en que se crea
un array uni-dimensional AlarmClock, y su referencia se asigna a la variable Clock [] de nombre c2.
(Asume AlarmClock como subclase de Clock.)

Utilizar la palabra clave "new" y un Inicializador

Utilizar la palabra clave new con un inicializador requiere la utilización de alguna de las siguientes sintaxis:

type variable_name> '[' ']' '=' 'new' type '[' ']' initializer ';'
type '[' ']' variable_name '=' 'new' type '[' ']' initializer ';'

Donde initializer tiene la siguiente sintaxis:

'{' [ initial_value [ ',' ... ] ] '}'






variable_name especifica el nombre de la variable del array uni-dimensional
type especifica el tipo de cada elemento. Como la variable del array uni-dimensional contiene
una referencia a un array uni-dimensional, el tipo es type []
La palabra clave new seguida por type y seguida por corchetes cuadrados ([]) vacíos, seguido
por inicializer. No se necesita especificar el número de elementos entre los corchetes
cuadrados porque el compilador cuenta el número de entradas en el inicializador. new asigna la

memoria para los elementos del array uni-dimensional y asigna cada una de las entradas del
inicializador a un elemento en orden de izquierda a derecha.
= asigna la referencia al array uni-dimensional a la variable variable_name.



Un array uni-dimensional (o de más dimensiones) creado con la palabra clave new con un inicializador
algunas veces es conocido como un array anónimo.

Nota:

El siguiente fragmento de código utiliza la palabra clave new con un inicializador para crear un array uni-
dimensional con datos basados en tipos primitivos:

int [] test_scores = new int [] { 70, 80, 20, 30 };

int [] test_scores declara una variable de array uni-dimensional (test_scores) junto con su tipo de
variable (int []). El código new int [] { 70, 80, 20, 30 } crea un array uni-dimensional
asignando memoria para cuatro elementos enteros consecutivos; y almacena 70 en el primer elemento,
80 en el segundo, 20 en el tercero, y 30 en el cuarto. La referencia del array uni-dimensional se asigna a
test_scores.

Cuidado:

No especifique una expresión entera entre los corchetes cuadrados del lado derecho de la igualdad. De lo
contrario, el compilador lanzará un error. Por ejemplo, new int [3] { 70, 80, 20, 30 } hace que
el compilador lance un error porque puede determinar el número de elementos partiendo del inicializador.
Además, la discrepancia está entre el número 3 que hay en los corchetes y las cuatro entradas que hay
en el inicializador.

La técnica de crear arrays uni-dimensionales con la palabra clave new y un inicializador también soporta la
creación de arrays que contienen referencias a objetos. El siguiente fragmento de código utiliza esta
técnica para crear una pareja de arrays uni-dimensionales que almacenan datos del tipo referencia:

Clock [] c1 = new Clock [] { new Clock () };
Clock [] c2 = new AlarmClock [] { new AlarmClock () };

Clock [] c1 = new Clock [3]; declara una variable de array uni-dimensional (c1) del tipo Clock [],
asigna memoria para un array Clock que consta de un sólo elemento, crea un objeto Clock y asigna su
referencia a este elemento, y asigna la referencia del array Clock a c1. El código Clock [] c2 = new
AlarmClock [3]; se parece a la declaración anterior, excepto en que crea un array uni-dimensional de
un sólo elemento AlarmClock que inicializa un objeto del tipo AlarmClock.

Trabajar con un array uni-dimensional

Después de crear un array uni-dimensional, hay que almacenar y recuperar datos de sus elementos. Con
la s
  • Links de descarga
http://lwp-l.com/pdf11815

Comentarios de: Unidad II - Arrays (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad