ESTRUCTURA DE DATOS EN JAVA

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

Curso de java básico (scjp)
Complejidad Computacional
Complejidad Computacional
Curso de java básico (scjp)
Curso de java básico (scjp)
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Curso de Java Capitulo 6: Cadenas y Arrays Profesor:
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
Programación I Teoría III
Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas.
Capitulo 3 Java util.
Tema 5 Grafos. Implementación (I)..
Tema 1. Introducción a la programación (Lenguaje java).
Tratamiento de listas en Java
1.2 Sintaxis del lenguaje Java.
ARREGLOS Estructuras de datos.
Marzo 2007 Lenguajes Visuales Clase III.
Vectores en java.
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Arreglos: Vectores en JAVA
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Modificadores.
Lic. Rosemary Torrico Bascopé
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Tema 10: Interfaces Antonio J. Sierra.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
Técnicas avanzadas de programación Interfaces
Colecciones.
SCJP Sun Certified Programmer for Java 6
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.
Patrón Observador Un patrón de diseño es una descripción de clases y objetos comunicándose entre si adaptada para resolver un problema de diseño general.
Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.
Arreglos.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
Curso Programación en Java
El lenguaje de programación Java
JAVA J.A.C..
1 3Tablas o matrices 3.1. Concepto Las tablas corresponden al concepto matemático de matriz. Todos sus elementos deben ser del mismo tipo y se accede a.
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Programación Interactiva Eventos y Swing Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle.
Clase 10: Estructuras de datos y arreglos.
Programación IMC José Andrés Vázquez Flores. Definición Un arreglo es un conjunto finito e indexado de elementos homogéneos, que se referencian por un.
El lenguaje de programación Java
METODOLOGÍA DE LA PROGRAMACIÓN
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SIETE GENERICOS Y COLECCIONES.
Aplicación de estructuras de datos
Programación en C para electrónicos
Un arreglo es un grupo de variables, llamadas elementos, que contienen valores del mismo tipo. Una representación lógica de un arreglo se muestra de la.
Arreglos Bidimensionales Arreglos Multidimensionales.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
IDENTIFICADORES Un identificador es un "nombre" que nos permite dirigirnos específicamente a una de las entidades propias del lenguaje, es decir, son los.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Estructura de datos I CIS - UABJB.
Fundamentos de Programación
Arrays multidimensionales en JAVA
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
ARRAYS Y COLECCIONES DE DATOS. ARRAYS Arrays – Matriz – Vector Elemento del lenguaje que nos permite agrupar un conjunto de valores del mismo tipo, y.
Clases “ Es una Abstracción de un elemento del mundo real ”
ESTRUCTURAS DE DATOS “Conceptualización de estructuras de datos” Por: Eduardo Robayo.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
ArreglosBidimensionales enjava. Sonestructurasdetamañofijoorganizadasporfilasy columnas. Estas estructuras almacenan valores del MISMO TIPO de dato. Cada.
Arrays, Cadenas y Vectores Tipos Genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 5 Versión
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

ESTRUCTURA DE DATOS EN JAVA Ingeniero José Leyder Gil López

Un arreglo se usa para agrupar, almacenar y organizar datos de un mismo tipo. En un arreglo cada valor se almacena en una posición numerada específica dentro del arreglo. El número correspondiente a cada posición se conoce como índice. ARREGLOS UNIDIMENSIONALES Y BIDIMENSIONALES

ARREGLOS ESTRUCTURA DE UN ARREGLO UNIDIMENSIONAL Normalmente el primer objeto del arreglo tiene el índice 0, aunque esto varía de lenguaje en lenguaje.

ARREGLOS Declaración: Como se sabe, hay 2 tipos de datos en Java: primitivos (como int y double) y objetos. En muchos lenguajes de programación (aún en Orientados a Objetos como C++) los arreglos son tipos primitivos, pero en Java son tratados como objetos. Por consiguiente, se debe utilizar el operador new para crear un arreglo: int miArreglo[]; // define la referencia a un arreglo miArreglo = new int[100]; // crea el arreglo y establece miArreglo // como referencia a él O el equivalente a hacerlo dentro de una misma sentencia int miArreglo[] = new int[100]; ARREGLOS UNIDIMENSIONALES – COMO SE DECLARAN

El operador [] es la señal para el compilador que estamos declarando un arreglo (objeto) y no una variable ordinaria. Dado que un arreglo es un objeto, el nombre –miArreglo-, en el ejemplo anterior- es una referencia a un arreglo y no el nombre del arreglo como tal. El arreglo es almacenado en una dirección de memoria x, y miArreglo almacena solo esa dirección de memoria. Los arreglos tienen el método length, el cual se utiliza para encontrar el tamaño de un arreglo: int tamaño = miArreglo.length; // arroja el tamaño del arreglo ARREGLOS UNIDIMENSIONALES – HALLAR EL TAMAÑO DEL ARREGLO

Para acceder a los elementos de un arreglo se debe utilizar los corchetes, muy similar a otros lenguajes de programación: temp = miArreglo[4]; // guarda en temp el valor del cajón 4 del arreglo miArreglo[8] = 50; // almacena en el cajon 8 del arreglo el valor 50 Es preciso recordar que en Java, como en C y C++, el primer elemento del arreglo es el 0. Luego entonces, los índices de un arreglo de 10 elementos van del 0 al 9. ARREGLOS UNIDIMENSIONALES – COMO ACCEDER A LOS ELEMENTOS DEL ARREGLO

ARREGLOS package arreglosunidimensionales; public class ArreglosUnidimensionales { public static void main(String[] args) { int x[] = new int[5]; x[0] = 10; x[1] = 30; x[2] = 25; x[3] = 2; x[4] = 12; for (int i = 0; i < x.length; i++) { System.out.println("x[" + i + "]:" + x[i]); } ARREGLOS UNIDIMENSIONALES - EJEMPLO

Se pueden implementar una serie de operaciones básicas sobre los arreglos, a saber: - Insertar elementos - Búsqueda de elementos - Eliminar elementos - Mostrar los elementos - Ordenar los elementos - Modificar algún elemento ARREGLOS UNIDIMENSIONALES – OPERACIONES SOBRE ARREGLOS

Un arreglo de dos dimensiones, también llamado tabla o matriz, donde cada elemento se asocia con una pajera de índices, es otro arreglo simple. Conceptualizamos un arreglo bidimensional como una cuadrícula rectangular de elementos divididos en filas y columnas, y utilizamos la notación (fila, columna) para identificar un elemento específico. La siguiente figura muestra la visión conceptual y la notación específica de los elementos: ARREGLOS BIDIMENSIONALES - MATRICES

El trabajo con los arreglos bidimensionales es muy parecido a los arreglos lineales, la declaración de uno de ellos se da de la siguiente manera: double [][] temperatures = new double [2][2]; // Dos filas y dos columnas. ARREGLOS BIDIMENSIONALES - DECLARACIÓN

La asignación de datos, se hace de una forma similar a los arreglos lineales: temperatures [0][0] = 20.5; temperatures [0][1] = 30.6; temperatures [0][2] = 28.3; temperatures [1][0] = -38.7; temperatures [1][1] = -18.3; temperatures [1][2] = -16.2; Las operaciones con las matrices son muy variadas, desde las básicas como: insertar y eliminar elementos hasta multiplicaciones de matrices, entre otras. ARREGLOS BIDIMENSIOANLES – ASIGNACIÓN DE DATOS

ARREGLOS package arreglosbidimensionales; public class ArreglosBidimensionales { public static void main(String[] args) { int x[][]; x = new int[2][2]; x[0][0] = 34; x[0][1] = 11; x[1][0] = 25; x[1][1] = 4; for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { System.out.println("x[" + i + "][" + j + "]" + x[i][j]); } ARREGLOS BIDIMENSIONALES - EJEMPLO

COLECCIONES Librería: Java.util

Framework que nos permite utilizar diferentes estructuras de datos para almacenar y recuperar objetos de cualquier clase (java.util) INTERFAZ: CLASE ABSTRACTA QUE NO NOS PERMITE USARLA PARA CREAR OBJETOS, PERO SI DEFINE LOS MÉTODOS QUE TENDRÁ TODAS LAS POSIBLES IMPLEMENTACIONES DE LA INTERFAZ COLECCIONES

SINTAXIS PARA INSTANCIAR UNA COLECCIÓN Colección<clase> nombre = new Colección<clase>();   Ejemplo List<String> lista = new ArrayList<String>(); SINTAXIS PARA INSTANCIAR UNA COLECCIÓN

SUBTIPOS DE LA INTERFAZ COLLECTION CONJUNTO: (Hereda de Collection): Los elementos no tienen un orden y no se permiten duplicados, hereda de la clase collection Interfaz: Set <E> Implementaciones: HashSet<E>, LinkedSet<E>, TreeSet<E> SUBTIPOS DE LA INTERFAZ COLLECTION

SUBTIPOS DE LA INTERFAZ COLLECTION LISTA: (Hereda de Collection): list es una colección de elemento potencialmente repetidos indexados por enteros (se parece a un array). Se puede usar en una factura. Se puede usar en las notas que se sacan de un examen. Es una estructura secuencial, donde cada elemento tiene un índice o posición Interfaz: List <E> Implementaciones: ArrayList<E>, LinkedList<E>, Stack<E>, Vector<E> SUBTIPOS DE LA INTERFAZ COLLECTION

SUBTIPOS DE LA INTERFAZ COLLECTION DICCIONARIO: (No hereda de Collection): Map es una colección de elementos repetibles indexados por clave única arbitraria, el tema semántico de los map es la clave no el valor, la clave no puede repetirse, se puede guardar 10 veces el mismo valor siempre y cuando la clave sea distinta. Cada elemento tiene asociado una clave que se usara para poder recuperarlo. Interfaz: Map <K, V> Implementaciones: HashMpa< K, V >, TreeMap< K, V >, LinkedMap< K, V > SUBTIPOS DE LA INTERFAZ COLLECTION

COLECCIONES GRAFICA DE JERARQUÍA DE INTERFACES Y CLASES

COLECCIONES – INTERFAZ COLLECTION INTERFAZ COLLECTION (CONJUNTO Y LISTA) MÉTODOS QUE SON HEREDADOS POR DESDE COLLECTION POR LOS CONJUNTOS Y LAS LITAS boolean add(E e): Añade un nuevo elemento a la Colección. boolean remove(E e): Elimina el elemento indicado. boolean contains(E e): Mira si el elemento está en la colección void clear(): Elimina todos los elementos de la colección. Int size(): Devuelve el número de elementos en la colección. boolean isEmpty(): Comprueba si la colección está vacía. COLECCIONES – INTERFAZ COLLECTION

COLECCIONES – INTERFAZ COLLECTION LOS SIGUIENTES MÉTODOS COMBINAN 2 COLECCIONES boolean addAll(Collection<?> c): Elimina todo elemento que este en c boolean containsAll(Collection<?> c): Comprueba si c es subconjunto nuestro boolean retainAll(Collection<?> c): Elimina todos los elementos a no ser que estén en c (Obtiene la intersección). COLECCIONES – INTERFAZ COLLECTION

COLECCIONES – CONJUNTO (SET) EJEMPLOS: CONJUNTO: Estructura De Datos Donde Los Elementos No Tienen Un Orden Ni Se Permiten Duplicados. Set<String> conjunto = new HashSet<String>(); conjunto.add(“manzana”); conjunto.add(“pera”); conjunto.add(“banano”); conjunto.add(“mango”);   for (String s : conjunto){ System.out.println(s); } COLECCIONES – CONJUNTO (SET)

COLECCIONES – LISTA (LIST) LISTA: Estructura Secuencial, donde cada elemento tiene un índice o posición Metodos: boolean add(int índice, E e): Inserta Elemento a la Posición E get(int índice): Devuelve elemento en la posición. int indexOf(E e): Primera Posición en que se encuentra elemento. int lastIndexOf(E e): Ultima Posición del elemento. E remove(int índice): Elimina el elemento de la posición indicada. E set(int índice, E e): Reemplaza elemento en la posición COLECCIONES – LISTA (LIST)

COLECCIONES – LISTA (LIST) IMPLEMENTACIÓN ARRAYLIST package ejemploarraylist2; import java.util.*; public class EjemploArrayList2 { public static void main(String[] args) { List<String> lista = new ArrayList<>(); lista.add("LEYDER"); lista.add("GIL"); lista.add("LOPEZ"); //Añadir un elemento en una posición de la Lista. //lista.add(1, "OK"); for (String c : lista) { System.out.println(c); } COLECCIONES – LISTA (LIST) IMPLEMENTACIÓN ARRAYLIST

COLECCIONES – LISTA (LIST) – IMPLEMENTACIÓN ARRAYLIST public class EjemploArrayList { public static void main(String[] args) { List<String> cadenas; //Declaración cadenas = new ArrayList<>(); //Crear Instancia cadenas.add("Hola"); //Agregar Elementos cadenas.add("como"); cadenas.add("Estas"); for (int i = 0; i < cadenas.size(); i++) {//Recorrer arraylist con un for System.out.println("--->" + cadenas.get(i)); } cadenas.remove(1); //Eliminar Elementos for (int i = 0; i < cadenas.size(); i++) { System.out.println("===>" + cadenas.get(i)); COLECCIONES – LISTA (LIST) – IMPLEMENTACIÓN ARRAYLIST