Arrays. Los arreglos son una colección de objetos del mismo tipo los cuales tienen un nombre en común y su acceso es mediante un índice.

Documentos relacionados
Java Básico. Estructuras de Datos 1. Copyright

Informática Lección 5. Arreglos (vectores) Curso Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas.

Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java

Examen Teórico Convocatoria de Junio de 2012

Bloque II. Elementos del lenguaje de programación Java

int[] nombrearray1; int nombrearray2[];

o Los arreglos son colecciones ordenadas de datos del mismo tipo. o Ejemplos: 2

Estructura de datos y Programación

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

Programación. Arrays. Dr. (c) Noé Alejandro Castro Sánchez

Tema 8: Manejo de Métodos

Java Avanzado Facultad de Ingeniería. Escuela de computación.

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

Java para programadores

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

Programación Orientada a Objetos con Java. Elementos Básicos del Lenguaje Java. Creación de un objeto. Creación de un objeto. Creación de un objeto

ARRAYS O ARREGLOS. EJEMPLOS CON OBJETOS Y TIPOS PRIMITIVOS. CAMPO LENGTH. RESUMEN TIPOS DE COLECCIONES JAVA. (CU00669B)

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

CLASE ARRAYS DEL API JAVA. MÉTODOS PARA ARRAYS EQUALS (COMPARAR), COPYOF (COPIAR), FILL (RELLENAR). EJEMPLOS. (CU00676B)

3.4 Clases y Objetos 05/04/2004. Conceptos Generales. Modificadores de la Clase. Estructura de una Clase. Variables Miembros

Tema 2. El lenguaje de programación Java. Arrays y cadenas

Introducción a la Programación Métodos

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Programación Orientada a Objetos: Arreglos en Java

12. Tipos de atributos

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

CAPÍTULO 2 DISEÑO E IMPLEMENTACIÓN DE MÉTODOS EN C#

Para crear un arreglo de cualquier tipo de elementos la sintaxis es:

Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

Tema 3b: Estructura General de un programa en Java

5. Sentencias selectivas o condicionales

Examen Teórico. Convocatoria de Febrero de 2018

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

Definición. Mónica E. García García Feb 07

Agenda. Guía en 5 pasos para el diseño orientado a objetos

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Guía - Taller # 2 (JAVA)

Elementos Básicos de Java. LUIS MENGUAL (c)

Arrays, Cadenas y Vectores Tipos Genéricos

11. Algunas clases estándar de Java (II)

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C)

Java 8 FlatMap y Streams

Variables Globales: Estas se crean durante toda la ejecución del programa, y son globales, ya que pueden ser llamadas, leídas, modificadas, etc;

APUNTES JAVA ARRAYS (ARREGLOS) Un arreglo es un grupo de posiciones de memoria contiguas. Todas las cuales tienen el mismo nombre y el mismo tipo.

Curso Informática Lección 6. Métodos de objetos y clases

Tema 4- Representación Enlazada

Tipos de Datos Abstractos

El lenguaje Java. Apéndice A Elementos del lenguaje

Introducción a Java. Introducción a Java. Programación I

Tema 2.- Objetos y mensajes

Curso de Java Introducción a la Programación I

INTERFACE LIST DEL API JAVA. CLASES ARRAYLIST, LINKEDLIST, STACK, VECTOR. EJEMPLO CON ARRAYLIST. (CU00920C)

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

Estructura de Datos ARREGLOS

Arrays. Programación. Licenciatura de Lingüística y Nuevas Tecnologías

int A[][]=new int[3][4]

c) Explicar qué es un BreakPoint en Netbeans y para qué sirve. 0,5 punto

Los Constructores(1)

Estructuras de control selectivas

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

PROGRAMACIÓN GENÉRICA

CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ

TIPOS DE DATOS ESTRUCTURADOS

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

Java. Introducción a la Programación Orientada a Objetos

Prácticas de Programación

Java Básico. Entorno de Programación Emacs/JDEE. Luis Fernando Llana Díaz

Prueba N o 1. Programación II

Tablas. Contenido. Descripción general 1 Introducción a las tablas 2 Creación de tablas 10 Uso de tablas 18

CAPITULO 4. AGRUPAR OBJETOS

PRACTICA 9 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS (PARTE II) Objetivos

Programación M.I. Gerardo Avilés Rosas Tercer Examen Parcial

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

Tema 15: Aserciones 0

Práctica No. 2. Tipos de Datos y Entrada/Salida Estándar

Metodología y Tecnología de la Programación

Examen Teórico. Convocatoria de Febrero de 2016

Práctica #3: Uso de Clases y Métodos

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

RELACIÒN ENTRE LA PROGRAMACIÒN ORIENTADA A OBJETOS Y LA ESTRUCTURADA

Programación Tema 4: Métodos. Programación DIT-UPM

Resumen Lenguaje Java

Declaración de una clase

Examen Teórico. Convocatoria de Julio de 2015

Programación Orientada a Objetos. Orientación a Objetos en Java

Arreglos Unidimensionales En este tipo de arreglo se hace uso de un índice solamente para hacer referencia a una posición particular del arreglo.

Transcripción:

Tema 10: Arreglos 0

Arrays Los arreglos son una colección de objetos del mismo tipo los cuales tienen un nombre en común y su acceso es mediante un índice. Declaración tipo dato[ ] identificador; tipo_dato identificador[]; Creación identificador = new tipo_dato[tam]; Cuando se crea un array sus elementos reciben el valor por default. 1

Declaración y creación La declaración y la creación pueden realizarse en la misma línea de código. Declaración int [ ] vec; Creación vec = new int[5]; Declaración y creación juntas int [] vec = new int[5]; Declaración e inicialización int [] vec = {10,20,30,40,50; 2

Inicialización Cuando se realiza una declaración e inicialización no es necesario la creación. Ejemplos: int [] vec = {1*2,1*3,1*4,1*5; String [] nombres ={ Ana, Julio, Inés ; String nombre= Manuel ; String [] saludo = { hola +nombre, adios + nombre ; 3

Rango de los arrays Llamado también array bounds. Todos los arreglos son estáticos y su creación es dinámica sino se indica lo contrario. El índice en el cuál inician los elementos del arreglo es cero (0) Ejemplo: String nombre= Manuel ; String [] saludo = new String[2]; saludo[0]= hola +nombre; saludo[1]= adios + nombre; El número de elementos contenidos en el array es almacenado en el atributo implícito llamado length. 4

Ejemplo Arrays Reasignación de tamaño: int [] myarray =new int[6]; myarray=new int[10]; public classarrays { public static void main(string[] args) { int[] a1 = { 1, 2, 3, 4, 5 ; int[] a2; a2 = a1; for (int i = 0; i < a2.length; i++) a2[i]++; for (int i = 0; i < a1.length; i++) System.out.println( "a1[" + i + "] = " + a1[i]); 5

Arrays multidimensionales Los arreglos de una dimensión son llamados vectores. Los arreglos de dos dimensiones son llamados matrices. De tres o más dimensione son llamados multidimensionales. Los arreglos de mas de una dimensión pueden ser creados de longitudes diferentes: int [] dosdim= new int[4][]; dosdim[0]=new int[5]; dosdim[1]=new int[8]; 6

Ejemplo matriz Ejemplo 1 int [][] matriz = new int [4][]; for (int i=0; i< matriz.length;i++){ matriz[i] = new int [i+5]; for (int j=0; j< matriz[i].length;j++){ matriz[i][j] = i + j; 7

Ejemplo matriz Ejemplo 2 8

Ejemplo múltiple array 1a import java.util.*; public class MultiDimArray { static Random rand = new Random(); static int prand(int mod) { return Math.abs(rand.nextInt()) % mod + 1; static void prt(string s) { System.out.println(s); public static void main(string[] args) { int[][] a1 = { { 1, 2, 3,, { 4, 5, 6, ; for (int i = 0; i < a1.length; i++) for (int j = 0; j < a1[i].length; j++) prt("a1[" + i + "][" + j + "] = " + a1[i][j]); 9

Ejemplo múltiple array 1b // Array de 3 dimensiones int[][][] a2 = new int[2][2][4]; for (int i = 0; i < a2.length; i++) for (int j = 0; j < a2[i].length; j++) for (int k = 0; k < a2[i][j].length; k++) prt("a2[" + i + "][" + j + "][" + k + "] = " + a2[i][j][k]); // Array de 3 dimensiones de diferente longitud int[][][] a3 = new int[prand(7)][][]; for (int i = 0; i < a3.length; i++) { a3[i] = new int[prand(5)][]; for (int j = 0; j < a3[i].length; j++) a3[i][j] = new int[prand(5)]; for (int i = 0; i < a3.length; i++) for (int j = 0; j < a3[i].length; j++) for (int k = 0; k < a3[i][j].length; k++) prt("a3[" + i + "][" + j + "][" + k + "] = " + a3[i][j][k]); 10

Ejemplo múltiple array 1c // Array de objetos (no primitivos) Integer[][] a4 = { { new Integer(1), new Integer(2), { new Integer(3), new Integer(4), { new Integer(5), new Integer(6) ; for (int i = 0; i < a4.length; i++) for (int j = 0; j < a4[i].length; j++) prt("a4[" + i + "][" + j + "] = " + a4[i][j]); Integer[][] a5; a5 = new Integer[3][]; for (int i = 0; i < a5.length; i++) { a5[i] = new Integer[3]; for (int j = 0; j < a5[i].length; j++) a5[i][j] = new Integer(i*j); for(int i = 0; i < a5.length; i++) for(int j = 0; j < a5[i].length; j++) prt("a5[" + i + "][" + j + "] = " + a5[i][j]); 11

Recorrido en arrays Los arreglos se pueden recorrer con un ciclo convencional usando el método length o bien con el for-each. Ejemplo public void printelements (int [ ]array]){ for (int i=0; i< array.length;i++){ System.out.println(array[i]); public void printelements (int [ ]array]){ for (int element :array){ System.out.println(element); 12

Arreglos de referencias Los arreglos pueden ser creados de un tipo de clase. Ejemplo public Point[ ] createarray(){ Point[ ] p; p =new Point[10]; for (int i=0; i< 10;i++){ p[i]= new Point(i,i+1); return p; 13

Arreglos de referencias Inicialización Ejemplo public class MyDate{ private int day; private int month; private int year; public MyDate(int day, int month,int year){ this.day=day; this.month=month; this.year=year; // en el main MyDate [ ] dates= { new MyDate(7,7,1968); new MyDate(22,8,1976); new MyDate(5,7,2004); ; 14

Paso de parámetro Un arreglo se trata como un objeto, pasándose referencias entre variables. Cuando se llama a un método y se le pasa el arreglo, el método hace su copia de la referencia pero comparte el arreglo. Ejemplo Void metodo(int [ ] x) { x[0]=2; int [ ] a=new int[5]; System... a[0] ; // vale 0 metodo(a); System..a[0]; // vale 2 15

Paso de parámetro Cuando una variable de tipo array se hace igual a otra, se copia la referencia pero se comparte el arreglo. Ejemplo int [ ] a=new int[5]; System... a[0] ; // vale 0 int [ ] b = a; b[0] = 2; System..a[0]; // vale 2 16

El array del main Encabezado: public static void main( String args[] ){... Esta línea especifica un método que el intérprete Java busca para ejecutar en primer lugar. Java utiliza la keyword main para especificar la primera función a ejecutar. public significa que el método main puede ser llamado por cualquiera, incluyendo el intérprete Java. 17

El array del main static indica al compilador que main se refiere a la propia clase MiClase yno a ninguna instancia de la clase. De esta manera, si alguien intenta hacer otra instancia de la clase, el método main no se instanciaría. void indica que main no devuelve nada. args[] es la declaración de un array de Strings. Estos son los argumentos escritos tras el nombre de la clase en la línea de comandos: $ java MiClase arg1 arg2... 18

Métodos para arrays Para copiar el contenido de un arreglo se pueden usar las dos formas siguientes: 1 Uso de clone int [ ] a=...; int [ ] b = (int []) a.clone(); Donde si los datos del arreglo son tipos primitivos se copia su valor y si son objetos se copia su referencia compartiéndose el objeto. 19

Métodos para arrays 2 Uso de java.lang.system.arraycopy(..) Sintaxis: System.arraycopy(array_origen, indice1,array_destino,indice2,cantidad); Donde: índice1 indica la posición del array1 donde se realizará la copia; indice2 indica la posición del array2 donde se almacenaran los datos copiados; cantidad indica el número de elementos copiados de array1 a array2. Ejemplo: System.arraycopy(vector1,0,vector2,0,5); 20