Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Nadjet Bouayad-Agha
Programacin
2007
ArrayList
Un ArrayList es un array dinmico. No tiene restricciones de
capacidad. Su tamao se ajusta de forma dinmica.
Constructor por defecto: newArrayList(). Inicialmente, la
capacidad de un ArrayList creado as es 0.
Los elementos dentro de un ArrayList son Objetos. No pueden ser
de tipo bsico, pero pueden ser de cualquier tipo de objeto.
La clase ArrayList forma parte del paquete java.util
Para poner un elemento dentro de esta estructura, usamos el
mtodo add y para recoger un elemento usamos el mtodo get.
Ejemplos: ArrayListExample.java
import java.util.*;
public class ArrayListExample1 {
public static void main(String[ ] args) {
ArrayList thisArrayList = new ArrayList();
thisArrayList.add("hello");
thisArrayList.add(",");
thisArrayList.add("are");
thisArrayList.add("you");
thisArrayList.add("?");
Mtodos de ArrayList
http://java.sun.com/j2se/1.4.2/docs/api/java/util/ArrayList.html
import java.util.ArrayList;
public class ArrayListInteger {
public static void main(String[] args) {
ArrayList numeros = new ArrayList();
Integer num1 = new Integer(10);
Integer num2 = new Integer(20);
Integer num3 = new Integer(30);
Integer num4 = new Integer(40);
numeros.add(num1);
numeros.add(num2);
numeros.add(num3);
numeros.add(num4);
int suma=0;
for (int i=0;i<numeros.size();i++) {
Integer thisNumero = (Integer)numeros.get(i);
suma = suma + thisNumero.intValue();
System.out.print(thisNumero);
if (i<numeros.size()-1)
System.out.print("+");
else
System.out.print("=");
}
System.out.println(suma);
5
import java.util.*;
public class ArrayListString {
public static void main(String[] args) {
ArrayList cadenas = new ArrayList();
cadenas.add("hello");
cadenas.add(",");
cadenas.add("are");
cadenas.add("you");
cadenas.add("?");
Ms Mtodos de ArrayList
http://java.sun.com/j2se/1.4.2/docs/api/java/util/ArrayList.html
void set(index, obj) Sustituye el elemento en la posicin index por el objeto obj.
(index tiene que ser entre 0 y size()-1) dentro del ArrayList, sustituyendo el
elemento previamente almacenado a la posicin N. Es equivalente a A[N] = obj
para un array A.
Object remove(index) -- Elimina el elemento a la posicin index (index entre 0 y
size()-1).
Devuelve el objeto eliminado
Los elementos despus de este objeto estn rebajados de una posicin. El tamao
del ArrayList disminuye de 1.
int indexOf(obj) -- Busca el objeto obj dentro del ArrayList, y si lo encuentra,
devuelve la posicin donde lo ha encontrado. Si no, devuelve -1.
Ejercicios
Escribir los siguientes mtodos:
void eliminarTodos(ArrayList cadenas,String cadena)
Elimina todas las copias de cadena dentro de cadenas
int min(ArrayList numeros)
Devuelve el nmero ms pequeo del array dinmico
void toUpperCase(ArrayList cadenas)
Sustituye cada cadena (String) del arrayList por la su versin
myuscula.
int veces(ArrayList cadenas,String cadena)
Devuelve el nmero de veces que aparece la cadena en el array
dinmico de cadenas.
Iterator
Para recorrer un ArrayList, podemos llamar a get dado un
ndice (como en los mtodos anteriores).
Podemos prescindir de los ndices y usar un Iterator sobre este
ArrayList: ArrayListIterator.java
La clase Iterator pertenece al paquete java.util
La nica funcin de un objeto de tipo Iterator es recorrer un
ArrayList.
Iterator tiene como mtodos hasNext (que devuelve un
boolean) y next (que devuelve un Object).
Como StringTokenizer, un objeto de tipo Iterator es de un solo
uso.
9
import java.util.*;
public class ArrayListIterator {
public static void main(String[ ] args) {
ArrayList thisArrayList = new ArrayList();
thisArrayList.add("hello");
thisArrayList.add(",");
thisArrayList.add("are");
thisArrayList.add("you");
thisArrayList.add("?");
Iterator it = thisArrayList.iterator();
while (it.hasNext())
System.out.print(it.next()+" ");
10
HashMap
Un HashMap es un array asociativo (o hash table).
Contiene asociaciones <clave,valor>, donde la clave es
nica y permite acceder al valor.
Ejemplos de asociaciones:
La lista de alumnos, cada alumno es accesible por su NIA.
El directorio telefnico, cada nmero se accede por los apellidos
y la direccin.
Un diccionario, cada definicin se accede por lemma.
Ejemplo: UseHashMap.java
11
Mtodos de HashMap
http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html
12
import java.util.*;
public class UseHashMap{
public static void main(String[] args) {
String aa= "INDIA";
HashMap hashmap = new HashMap();
hashmap.put("one",new Integer(1));
hashmap.put("two",null);
hashmap.put("three","THREE");
hashmap.put("four",aa);
System.out.println("The size of HashMap = "+ hashmap.size());
System.out.println("If hashmap empty = "+ hashmap.isEmpty());
13
Mtodos de HashMap
http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html
14
Nota: Set es una clase de java.util
15
Mtodos de HashMap
http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html
16
17
Mtodos de HashMap
http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html
18
Nota: Collection es una clase de java.util
hashmap.remove("two");
System.out.println("The size of HashMap has reduced by one");
System.out.println("The size of HashMap = " + hashmap.size());
System.out.println("The values of HashMap are =" + hashmap.values());
//Remove all the elements from the HashMap
hashmap.clear();
System.out.println("If hashmap empty = " + hashmap.isEmpty());
19
Ejercicios
Escribir los mtodos:
Alumno getAlumno(HashMap alumnos,String nia)
Dado un array asociativo de <NIA,objeto-alumno>, el mtodo
devuelve el valor (objeto-alumno) dado la clave.
void increment(HashMap palabras,String palabra)
Dado un array asociativo palabras de <cadena,numero>, donde
cadena es una palabra (tipo) de un corpus y numero el
nmero de veces que ocurre en el corpus, el mtodo
incrementa de uno el nmero de veces que ocurre palabra.
Importante: puede que palabra no exista en el hashmap, en
tal caso habr que aadirlo.
20