UT14. colecciones
el api de java
eugeniaperez.es


UT 14: colecciones
1.Introducción
Text
eugeniaperez.es

Las colecciones se encuentra en java.util.
UT 14: colecciones
1.Introducción
Text
eugeniaperez.es

Estructuras estáticas: arrays
Estructuras dinámicas:
- Vector /ArrayList
- HashSet
- Hashtable

UT 14: colecciones
1.Introducción
Text
eugeniaperez.es

vectores: más versátil y flexible que arrays.
Vector<String> names = new Vector<String>();
|
.size() / contains(elemento) |
|
.addElement(elemento)/add(elemento) |
|
.removeElement(objeto)/remove(elemento) |
|
.removeElementAt(indíce) |
|
.removeAllElements() |
Métodos:
UT 14: colecciones
1.Introducción
Text
eugeniaperez.es

vectores:
Vector<Integer> numbers = new Vector<Integer>();
numbers.add(42); // Internamente será new Integer(42)
int value = numbers.elementAt(0);Entre ángulos especificamos el objeto con el cual trabaja la colección. En caso de ser tipos simples (int, float, double) se convierten a clases envoltorio: Integer, Float, Double...
UT 14: colecciones
1.Introducción
Text
eugeniaperez.es

vectores, recorridos:
Si NO definimos el tipo...
Vector jugadores = new Vector();Tenemos dos posibilidades para recorrer la colección:
for(int i=0;i<jugadores.size();i++){
Jugador jugador = (Jugador)jugadores.elementAt(i);
System.out.println(jugador.toString());
}Iterator iterator = jugadores.iterator();
while(iterator.hasNext()){
Jugador jugador = (Jugador)iterator.next();
System.out.println(jugador.toString());
}UT 14: colecciones
1.Introducción
Text
eugeniaperez.es

vectores, recorridos:
Si conocemos el tipo LO MEJOR es indicarlo...
Vector<Jugador> equipo = new Vector<Jugador>();El recorrido entonces es mucho más sencillo, se ahorran líneas:
for(Jugador jugador: equipo){
System.out.println(jugador.toString());
}Obtenemos el jugador directamente, no necesitamos extraerlo de una posición y convertirlo...
UT 14: colecciones
1.Introducción
Text
eugeniaperez.es

hashtable:
Es una estructura especial a la cual accedemos a través de una clave, en lugar de una posición.
| Clave | Valor |
|---|---|
| 71650463N | Alumno1 |
| 09435632C | Alumno2 |
| 1234567O | Alumno3 |
UT 14: colecciones
1.Introducción
Text
eugeniaperez.es

hashtable:
Hashtable<String, Alumno> alumnos = new Hashtable<String,Alumno>();
alumnos.put(“71650463N”, Alumno2);
Alumno alumno2 = alumnos.get(“71650463N”);
- .size()
- .put(clave, valor)
- .get(clave)
- .containsKey(clave)
- .remove(clave)
- .clear()
MÉTODOS
UT 14: colecciones
1.Introducción
Text
eugeniaperez.es

ARRAYS:
Similares a los Vectores.
MÉTODOS
|
.size() |
|
.add(elemento) |
|
.add(índice, elemento) |
|
.get(índice) |
|
.remove(indíce) |
|
.contains(elemento) |
|
.size() |
|
.clear() |
|
.toArray(type []) |
ArrayList<String> names = new ArrayList<String>();
String [] namesArray = names.toArray(new String[0]);
List<String> otherNames = Arrays.asList(namesArray);UT 14: colecciones
1.Introducción
Text
eugeniaperez.es

hashsets:
Son listas donde no se pueden repetir los valoress
MÉTODOS
|
.size() |
|
.add(elemento) |
|
.iterator() |
|
.contains(elemento) |
|
.remove(clave) |
|
.clear() |
HashSet<String> uniqueNames = new HashSet<String>();UT.14 Colecciones
By eugenia_perez
UT.14 Colecciones
- 1,321