Ir al contenido principal

Tipos de agregados

 Tipos agregados

EJERCICIOS TIPOS DE AGREGADOS JAVA

Haz click aquí para descargar los ejercicios.

Array, List, String y Set

Tipos agregados: Array, List, String y Set


● Son conjuntos donde almacenar elementos.

● Los objetos de tipo array, List y String son indexados, es decir, se puede

acceder a los elementos que contienen a través de la posición que

ocupan. El tipo Set no es indexable.

● La primera posición es 0, y la última el tamaño menos 1. Ej: si tenemos

una lista cuyo tamaño es 15, su primer elemento estará en el índice 0 y el

último elemento en el índice 14.


Array

Un array Java es una estructura de datos que nos permite almacenar una

ristra de datos de un mismo tipo. El tamaño de los arrays se declara en un

primer momento y no puede cambiar en tiempo de ejecución como puede

producirse en otros lenguajes.


List


Las listas en Java también se utilizan para almacenar datos, son similares a los

Array sin embargo las nuevas tendencias en la programación van orientadas

más hacia el uso de Listas que arrays.

Para declarar una lista:

List ejemploLista = new ArrayList()

Para declarar una lista donde guardaremos datos tipo String :

List<String> ejemploLista = new ArrayList<String>();


String

Las cadena de caracteres se corresponden con la clase String.

Se declara:

String s="Texto de prueba";

La variables de tipo String pueden utilizarse también en una expresión que

haga uso del operador “+” para concatenar cadenas:

String s="Hola";

String t=s + " que tal"; //La variable t apunta al objeto "Hola que tal"


Set


Se utiliza para modificar el valor de un atributo, es un tipo agregado igual que

list pero no podemos tener elementos repetidos.


Inicialización de Array

Hay dos formas de hacerlo, indicando entre llaves y separados por comas

los valores iniciales del array o indicando solamente la longitud del array.

Todos los elementos de un array deben ser del mismo tipo.

int [ ] a = {1,43,2}; //es un array de tres valores de tipo int

Integer[ ] b = new Integer [7]; //es un array de 7 valores de tipo Integer

* La diferencia entre int e integer: int es un tipo primitivo (un número), no un objeto,

mientras que Integer es un objeto o una Clase. (un Integer es una caja, y un int es lo

que hay dentro de esa caja).


Tamaño

Es el número de elementos que contiene el agregado.

● Array: el tamaño es inmutable, es decir, no cambia una vez creado el

objeto. Se representa por el atributo lenght.

○ a.length

● String: el tamaño es inmutable. Se representa por el método lenght()

○ s.length()

● List<T> y Set<T>: el tamaño es mutable pero solamente puede cambiar a

través de algunas operaciones, no puede ser modificado directamente.

○ l.size()

○ c.size()


int i; Contenido de una celda

Solo está disponible para los agregados indexables.

Array: el contenido de una celda es consultable y modificable

Consulta: a[i]

Modificación: a[i]= e

String: el contenido de una celda es inmutable

Consulta: charAt(i)

List<T>: el contenido de una celda puede consultarse y modificarse

Consulta: get(i)

Modificación set(i, T e)// en la posición i pone el objeto e de tipo T (no hay que especificarlo)


Contenido de una celda. Limitaciones

Un array puede contener elementos de tipos objeto y de tipos primitivos

Los elementos de un objeto String sólo pueden ser caracteres

Los tipos Set o List pueden contener solamente elementos de tipo objeto


Añadir y eliminar elementos

En el caso de los agregados cuyo tamaño puede modificarse hay disponible

operaciones para añadir y eliminar elementos, esto por tanto no podrá

hacerse en arrays ni en objetos de tipo String.

En los tipos List y Set:

Para añadir elementos: add(e)

Para eliminar elementos: remove(e)

*En el caso de una lista el elemento añadido se coloca al final de la misma, y al

eliminar un elemento, si hubiera varios iguales, se eliminaría el primero que

se encuentre al recorrer la lista


Resumen


Ejemplo

List<Double> v1 = new ArrayList();

v1.add(3.0); v1.add(25.0);v1.add(7.0);v1.add(9.0);

v1.remove(1.0); v1.remove(7.0);

Set<Double> s1= new HashSet();

s1.add(3.0); s1.add(25.0); s1.add(7.0); s1.add(9.0);

s1.remove(1.0); s1.remove(7.0);


Ejercicio 1 con Array

Programa que guarde en un array 10 números enteros que se leen por

teclado y calcule cuántos números son positivos, cuántos negativos y

cuántos ceros.


Ejercicio 2 con Array

Diseña un programa que almacene las temperaturas medias de

un mes que introduzca un usuario. Cada mes tendrá 28 días y

está formado por 4 semanas de 7 días.

Mostrar un menú que nos permita:

1. Rellenar las temperaturas.

2. Mostrar las temperaturas.

3. Visualizar la temperatura media del mes.

4. Día o días más calurosos del mes. Ejemplo:

Los días más calurosos fueron:

El jueves de la Semana 3 con 40 grados.

El sábado de la Semana 4 con 40 grados.

EJERCICIOS TIPOS DE AGREGADOS JAVA

Haz click aquí para descargar los ejercicios.

Comentarios