← Tornar a l'índex d'exercicis
Aquesta unitat aprofundeix en les col·leccions dinàmiques del Marc de Java (List, Set, Map), la manipulació eficient de cadenes, el processament funcional amb Streams i la cerca de patrons amb Expressions Regulars (Regex).
Crea una classe d'utilitats anomenada StringListUtils amb els següents mètodes static:
static int countOccurrences(List<String> llista, String text): Compta el nombre de vegades que apareix un text determinat a la llista.
static String join(List<String> llista, String separador): Concatena tots els textos d'una llista utilitzant el separador indicat.
static List<String> merge(List<String> l1, List<String> l2): Retorna una nova llista que conté tots els elements de la primera seguits dels de la segona, sense modificar les originals.
static List<String> removeMatches(List<String> llista, String text): Retorna una nova llista sense els elements que coincideixin amb el text.
static List<String> repeat(String text, int cops): Retorna una llista amb el text repetit el nombre de vegades indicat.
Desenvolupa una aplicació per a gestionar el calendari d'exàmens d'un centre educatiu basada en composició d'objectes i llistes:
Escriu un programa principal que creï un objecte Calendario, hi afegeixi almenys 3 exàmens amb diferents assignatures i mostri la planificació per consola de forma ben formatada.
Eliminació de duplicats: Donada una llista amb noms repetits, utilitza un HashSet<String> per obtenir una col·lecció sense cap duplicat.
Comptador de freqüències: Donat un paràgraf de text, compta quantes vegades apareix cada paraula utilitzant un HashMap<String, Integer>.
Directori de contactes: Implementa una agenda telefònica senzilla amb Map<String, String> on la clau sigui el nom de la persona i el valor el seu número de telèfon, permetent cercar, afegir i esborrar contactes.
Filtrat i transformació numèrica: Donada una llista de nombres enters, utilitza la canalització (stream()) per filtrar només els nombres parells, elevar-los al quadrat i calcular-ne la suma o mitjana aritmètica.
Llistat de noms en majúscules: Donada una llista de noms d'alumnes, filtra els que comencen per una lletra determinada, converteix-los a majúscules i ordena'ls alfabèticament.
Validador de Codi Postal: Escriu una expressió regular per validar que un codi postal estigui format per exactament 5 dígits numèrics (^\d{5}$).
Validador d'Email: Valida si una adreça de correu compleix l'estructura habitual (usuari, símbol arroba i domini amb extensió de 2 o més lletres).
Extracció de dades: Donat un text amb diversos números de telèfon de 9 dígits barrejats, extreu tots els números trobats utilitzant Pattern i Matcher.