La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ESTRUCTURA DE DATOS EN JAVA

Presentaciones similares


Presentación del tema: "ESTRUCTURA DE DATOS EN JAVA"— Transcripción de la presentación:

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

2 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

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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 COLECCIONES Librería: Java.util

14 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

15 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

16 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

17 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

18 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

19 COLECCIONES GRAFICA DE JERARQUÍA DE INTERFACES Y CLASES

20 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

21 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

22 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)

23 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)

24 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

25 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


Descargar ppt "ESTRUCTURA DE DATOS EN JAVA"

Presentaciones similares


Anuncios Google