Sie sind auf Seite 1von 7

2017

v1.0

Términos de Java
CLASES, TRUCOS, VOCABULARIO Y OTRAS CUESTIONES
ARRIZEN
ArrayList
Estructura dinámica de datos. Es una estructura que puede contener objetos de distinto tipos.

EJEMPLO

import java.util.ArrayList; /* Queremos que Java sepa que queremos usar ArrayList*/

ArrayList<Object> miArray = new ArrayList< Object >();


miArray.add("Todoterreno"); /* añadimos un String */
miArray.add(5); /* añadimos un Integer */
miArray.add(“Furgoneta”); /* añadimos otro String */

miArray.size(); /* ¿Cuántos elementos tiene el ArrayList? */


miArray.get(0); /* Devuelve ¡el primer! objeto del ArrayList */
miArray.contains(“Todoterreno”); /* devuelve true si el objeto está en el ArrayList */
miArray.remove(0); /* bórrame el primer elemento y ordena la lista*/
miArray.indexOf(“Furgoneta”); /* devuelve la posición del elemento indicado*/
miArray.clear(); /* borra todos los elementos */

Se puede hacer que el array sea de un único tipo, en este caso cadenas (String)

ArryList<String> misCadenas = new ArrayList<String>);

Métodos útiles:

size()
add(objeto)
add(posicion, objeto)
get(posicion)
remove(objeto)
clear()
contains(objeto)
indexOf(objeto)

Más info en:

http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
Mapa (HashMap)
Es una interface (import java.io.Map)

Permite representar una estructura de datos para almacenar pares "clave/valor" de modo que
cada clave tiene asociado únicamente un valor. Se puede añadir, eliminar y modificar
elementos de manera transparente para el programador

Hay tres tipos de mapas:


- HashMap: los elementos no tendrán un orden específico, no aceptan claves duplicadas ni
valores nulos.
- TreeMap: ordenado de forma natural, si la clave son enteros los ordena de menor a mayor.
- LinkedHashMap: Los ordena según se van insertando, búsqueda más lenta.

Cómo crear uno de nombre miMapa, con claves de tipo Integer y valores de tipo String:

Map<Integer, String> miMapa = new HashMap<Integer, String>();

Los métodos que podemos usar son, teniendo en cuenta que "K" es el tipo de la clave (en
nuestro caso Integer) y "V" es el tipo del valor (en el caso anterior un String)

size()
isEmpty()
put(K clave, V valor)
get(K clave)
clear()
remove(K clave)
containsKey(K clave)
containsValue(V valor)
values()

Más info aquí: http://docs.oracle.com/javase/7/docs/api/java/util/Map.html

y aquí:

https://jarroba.com/map-en-java-con-ejemplos/
Array, Vector y Matriz
Un Array es una tabla de una dimensión. Permite agrupar bajo un mismo nombre a un
conjunto de elementos del mismo tipo. Se direccionan por un índice de tipo entero que
comienza desde 0.

Un Vector es una clase similar a Array pero que es capaz de crecer cuando se llega al límite
especificado en su creación. Estos son algunos de los métodos más útiles:
.addElement(object);
.insertElement(object, pos);
.size();
.contains(object);x
Una Matriz es una tabla bidimensional. Pensemos en ella como una tabla cartesiana de "n" x
"m" elementos, un array de n x m.
Creamos una matriz de 4 x 10 elementos

int miMatriz[ ] [ ] = new int [4] [10];

Podemos acceder a cualquier elemento así:

miMatriz[0][3] = 12345; /*esto mete 12345 en la posición n = 0 y m = 3 de la tabla *(


StringTokenizer

Ayuda a dividir un string en substrings o tokens, en base a otro string o


delimitador.
import java.util.StringTokenizer;

String nombre="Ejemplo de POO";


StringTokenizer tokens=new StringTokenizer(nombre);

La clase StringTokenizer implementa el interface Enumeration, por tanto


define las funciones nextElement y hasMoreElements.
public class StringTokenizer implements Enumeration {
//...
public boolean hasMoreElements() {
//...
}
public Object nextElement() {
//...
}
}

Más información en:


http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/colecciones/stringt
okenizer.htm
Serializar objetos

Y ahora, ¿cómo guardo los datos de mi aplicación en disco para que no se pierdan al cerrar el
programa? Tú lo que necesitas es persistencia: bienvenidos a la “serialización”.

¿En qué consiste?: Tienes un objeto, el que sea. La serialización es una caja negra que te
permite convertirlo en un churro que se puede guardar y leer de disco, así de fácil; olvídate de
implementarlo por ti, Java te hace el trabajo sucio.

¿Cómo se utiliza? Haz que tu objeto implemente la interfaz Serializable

¿Es sólo para disco? No, también lo puedes usar para transferir los datos del objeto por red.

Un ejemplo por favor…

EJEMPLO

import java.io.Serializable; /* Queremos que Java sepa que queremos usar la serialización */
import java.io.*; /* Lo necesitaremos también para hacer la persistencia de un objeto */
public class ClasePersistencia implements Serializable
{
private String miCadena;
public ClasePersistencia() {
miCadena = new String();
}
public void guardarObjeto(){
try {
ObjectOutputStream salida = new ObjectOutputStream(new
FileOutputStream("cadena.obj"));
salida.writeObject(miCadena);
salida.close();
}catch (Exception e) {
System.out.println(e);
}
}

public void recuperarObjeto() {


try {
ObjectInputStream entrada = new ObjectInputStream(new
FileInputStream("cadena.obj"));
miCadena = (String)entrada.readObject();
entrada.close();
}catch (Exception e) {
System.out.println(e);
}
}
public void crearCadena() {
miCadena = "Fulano";
}

public void mostrarCadena() {


System.out.println(miCadena);
}

public void borrarCadena() {


miCadena = "";
}
}