











Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Il Java Collection Framework (JCF) è un framework Java che offre una gerarchia di interfacce e classi per lo sviluppo di strutture dati con vantaggi come dimensione dinamica e riutilizzo del codice. JCF include algoritmi di ordinamento e visita testati e funzionanti. la struttura di JCF, le interfacce Collection e Map, e le classi ArrayList, Vector, LinkedList, Queue, PriorityQueue, HashSet, LinkedHashSet, TreeSet e HashMap.
Tipologia: Schemi e mappe concettuali
1 / 19
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!












Interfaccia generica che definisce un insieme di dati nei quali non ci sono politiche di ordinamento ne di gestione di duplicati, ma che non ammette dati primitivi se non attraverso Classi wrapper. Viene estesa da List,Queue e Set. Definisce metodi principali… Add,Remove, Contains, Empty, Size e creazione di oggetto Iteratore ..e metodi bulk rispetto altre collezioni…. addAll, removeAll, containsAll… Wrapper: Classi che permettono di fare il boxing e unboxing, automatico dalla versione JDK 1.5, di dati primitivi all’interno di una classe wrapper.
Estende le caratteristiche di collection definendo ordinamento in base all’inserimento. Definisce oltre a collection… c.get(i) & c.indexOf(Object) ..Implementata da ArrayList, LinkedList e Vector.
Simile ad ArrayList con le differenze: -Metodi synchronized e quindi supporta il multi-threading in caso di programmi concorrenti; -Meno efficiente di ArrayList -Permette maggior controllo della capacita’ Metodo capacity();
LinkedList implementa una lista concatenata con ogni elemento che mantiene un riferimento ad un valore/oggetto e un puntatore al elemento. Quindi si usa quando si ha bisogno una dimensione dinamica a scapito di un tempo di accesso lineare (O(n)). Metodi add(Object) / remove() / clear() contains/ clear() / isEmpty() Iterator()
2 soluzioni per CODA con la classe PriorityQueue Queue
Collections.max(c); Collections.sort(c);
Queue
Collections.max(c,new Comparatore()); Collections.sort (c,new Comparatore());
Interfaccia che estende Set definendone un ordinamento. TreeSet implementa SortedSet TreeSet implementa un ADT di tipo BST. Ogni elemento è appartenente ad una lista che compone l’albero binario a partire dalla radice e che incapsula un oggetto e 2 puntatori, uno al figlio di DX e uno al figlio di SX. L’ordinamento viene sempre effettuato attraverso l’implementazione di una interfaccia che sia Comparable or Comparator.
Interfaccia che estende Set definendone un ordinamento. TreeSet implementa SortedSet TreeSet implementa un ADT di tipo BST. Ogni elemento è appartenente ad una lista che compone l’albero binario a partire dalla radice e che incapsula un oggetto e 2 puntatori, uno al figlio di DX e uno al figlio di SX. L’ordinamento viene sempre effettuato attraverso l’implementazione di una interfaccia che sia Comparable or Comparator.
HashMap implementa Map con le seguenti particolarita’:
Implementa l’ordinamento attraverso le chiavi che sono organizzate su un BST. Le chiavi sono realizzate su oggetti che appartengono a Classi che implementano le interfacce Comparable o Comparator per permettere un ordinamento (Naturale o Specifico) che avviene sempre grazie ad un Override dei metodi .compareTo o compare() rispettivamente.