Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Java 16

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 35

F.4411.316.013 - POEJ/MIXTO/F.

Generation/
Curso JAVA (Online-Nacional) 3ªEd.

Java Bootcamp
Eduardo Corral Muñoz
eoi_eduardo@corral.es
Java
Intermedio 1
Índice
_01 Colecciones Java
_02 ArrayList
_03 LinkedList
_04 HashSet
_05 HashMap
_06 Iterator
01

Colecciones Java
Api de colección
Las colecciones en Java son tipos especiales de clases usadas
para manejar grupos de datos (estructuras de datos) del mismo
tipo (i.e colección de strings).
Podemos diferenciar dos grandes tipos: Collection (List y Set) y
Map
List almacena datos/objetos en una secuencia determinada y
admite elementos duplicados.
Set no admite duplicados y no mantiene el orden de sus
elementos.
Map (diccionario) almacena la información en parejas clave/valor.
No hemos de preocuparnos por el tamaño (array), crecen en
automáticamente al agregar elementos.
Api de colección
Diagrama de clases del API de colecciones
Api de colección
Array es un tipo de estructura de datos que contiene un número
fijo de valores de un solo tipo. No es posible modificar sus
dimensiones una vez creado.
ArrayList es la colección de Java que representa la estructura de
datos de Array de longitud variable.
Api de colección
Set es un tipo de estructura de datos que almacena valores
únicos del mismo tipo (sin duplicados).
HashSet es la colección de Java que representa la estructura de
datos Set.
Api de colección
Map es un tipo de estructura de datos utilizada para la búsqueda
rápida de datos. Almacena datos en forma de pares "clave/valor".
HashMap es la colección de Java que representa la estructura de
datos de Map.
02

ArrayList
Array - ArrayList
Una matriz o Array Almacena múltiples valores del mismo tipo en
una sola variable.
Declaración:
tipo[] nombre = {valor1, valor2, valor3, …};
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
int[] myNum = {10, 20, 30, 40};
Para acceder a un elemento:
nombre[indice]
El primer elemento tiene el índice 0.
Array - ArrayList
Un Array bidimensional es una matriz que contiene uno o más
matrices de su mismo tipo.
Declaración array bidimensional:
tipo[ ][ ] nombre = {{array1}, {array2}, {array3}, …};
int[ ][ ] numeros= {{1,2,3,4},{3,5,7},{2,4,6,8,10}};
Para acceder a un elemento:
nombre[indice1] [indice2]
numeros[1][1] es 5
Array - ArrayList
La clase ArrayList es un array redimensionable.
Pertenece al paquete (package) java.util.
La diferencia principal respecto al array predefinido es que este
no puede ser modificado en su dimensión, mientras que en el
ArrayList se pueden añadir o eliminar elementos a voluntad.
Array - ArrayList
La clase ArrayList es un array redimensionable.
Creación:
import java.util.ArrayList; // importar ArrayList class
ArrayList<String> coches = new ArrayList<String>(); // Crearlo

Métodos:
coches.add(“elemento”);
coches.remove(indice);
coches.get(indice);
coches.set(indice, “elemento”);
coches.clear();
coches.size();

Array - ArrayList
Recorrer un ArrayList
for, foreach, while, do..while
utilizando .size() para el final del bucle

Son realmente objetos y pueden ser de otros tipos, pero para


definirlos no valen los tipos primitivos, sino sus objetos
equivalentes (wrapper class).
byte  Byte, short  Short, int  Integer,
long  Long, float  Float, double  Double,
boolean  Boolean, char  Character

ArrayList<int> misNumeros = new ArrayList<int>();


ArrayList<Integer> misNumeros = new ArrayList<Integer>();
Array - ArrayList
Ordenar un ArrayList suele ser útil. Podemos usar el método
sort() para ordenar numérica o alfabéticamente.
sort() pertenece a la clase Collections del paquete java.util
Collections.sort (ArrayList);

Referencia API Java


Ejercicios
Crea un ArrayList de números enteros y ordénalo
Haz lo mismo con Strings.
03

LinkedList
LinkedList
Muy similar a ArrayList en cuanto a lo que se puede hacer, pero
funcionan de forma muy diferente.
ArrayList contiene un array estándar. Al añadir un elemento se
pone en ese array y si no es suficientemente grande, se crea uno
mayor y se elimina el antiguo. (Bargueño)
LinkedList almacena los datos en “contenedores”. La lista está
enlazada al primer contenedor, y cada uno de ellos al siguiente.
Para añadir un elemento, se crea un nuevo contenedor que se
enlaza a los otros contenedores de la lista. (Tren).
LinkedList
ArrayList vs. LinkedList

ArrayList está indicado cuando se accede a los datos de forma


aleatoria con frecuencia y cuando solo se requiere añadir/eliminar
elementos al final de la lista.
LinkedList está indicado cuando se recorren los elementos
mediante bucles y cuando se precisa añadir/eliminar elementos al
principio o al final de la lista.
LinkedList
Creación:
import java.util.LinkedList; // importar LinkedList class
LinkedList<String> coches = new LinkedList<String>();// Crearlo

Métodos: Además de los de ArrayList incluye


coches.addFirst(“elemento”);
coches.removeFirst();
coches.addLast(“elemento”);
coches.removeLast();
coches.getFirst();
coches.getLast();

Referencia API Java


LinkedList
Recorrer un LinkedList
for, foreach, while, do..while
utilizando .size() para el final del bucle

Son realmente objetos y pueden ser de otros tipos, pero para


definirlos no valen los tipos primitivos, sino sus objetos
equivalentes (wrapper class).
byte  Byte, short  Short, int  Integer,
long  Long, float  Float, double  Double,
boolean  Boolean, char  Character

LinkedList<int> misNumeros = new LinkedList<int>();


LinkedList<Integer> misNumeros = new LinkedList<Integer>();
Ejercicios
Crea un LinkedList de String, añade elementos, añade un
elemento al principio, otro al final, busca, …. y ordénalo.
04

HashSet
HashSet
Es una colección de datos donde cada elemento es único. No
hay repeticiones.
Pertenece al paquete (package) java.util.
Podríamos asimilarlo a una estructura de datos tipo array en la
que no existe la posibilidad de que haya elementos duplicados.
HashSet
Creación:
import java.util.HashSet; // importar LinkedList class
HashSet <String> coches = new HashSet <String>();// Crearlo

Métodos:
coches.add(“elemento”);
coches.remove(“elemento”);
coches.contains(“elemento”);
coches.clear();
coches.size();

Referencia API Java


HashSet
Recorrer un HashSet
Sólamente for-each

Son realmente objetos y pueden ser de otros tipos, pero para


definirlos no valen los tipos primitivos, sino sus objetos
equivalentes (wrapper class).
HashSet<int> misNumeros = new HashSet<int>();
HashSet<Integer> misNumeros = new HashSet<Integer>();
05

HashMap
HashMap
Los datos se almacenan en pares “clave/valor” y se puede
acceder a ellos por un índice que no tiene porqué ser entero,
puede ser un String.
Se usa un objeto como clave (índice) hacia otro objeto (valor).
Por ejemplo, puede tener un índice tipo String y un valor entero
(Integer) o ambos pueden ser String…
Pertenece al paquete (package) java.util.
HashMap
Creación:
import java.util.HashMap; // importar HashMap List class
HashMap <String,String> coches = new HashMap();// Crearlo

Métodos:
coches.put(“indice”,“elemento”);
coches.remove(“indice”);
coches.get(“indice”);
coches.clear();
coches.size();

Referencia API Java


HashMap
Recorrer un HashMap
Sólamente for-each con método .keySet().
for (String i : coches.keySet()) {
System.out.println(“clave = “ + i + “ valor = “ + coches.get(i));
}

Son realmente objetos y pueden ser de otros tipos, pero para


definirlos no valen los tipos primitivos, sino sus objetos
equivalentes (wrapper class).
HashMap<int,int> misNumeros = new HashMap();
HashMap<Integer,Integer> misNumeros = new HashMap();
06

Iterator
Iterator
Un iterador (Iterator) es un objeto que se utilizada para recorrer
colecciones, como ArrayList o HashSet.
El termino técnico para recorrer los elementos de una estructura
de datos es iterar, de ahí el nombre.
Pertenece al paquete (package) java.util.
El método iterator() se usa para conseguir un iterador para una
colección.
Iterator
Utilizando iterator
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");

// Crear el iterador
Iterator<String> it = cars.iterator();

// Imprimir primer elemento


System.out.println(it.next());

// Imprimirlos todos
while(it.hasNext()){ System.out.println(it.next()); }

También podría gustarte