Fondamenti di Informatica T-1. Collezioni
|
|
- Lisa Perini
- 4 anni fa
- Visualizzazioni
Transcript
1 Collezioni
2 Collezioni 2 Java Collection Framework (JCF): supporto a qualunque struttura dati per contenere "elementi generici". Collection: nessuna ipotesi sul tipo di collezione Set: introduce l idea di insieme di elementi (quindi, senza duplicati) List: introduce l idea di sequenza Map: introduce l idea di mappa, tabella che associa chiavi a valori
3 3 Collezioni JDK <=1.4: uso di Object come elemento generico JDK >=1.5: uso del tipo generico Collection Collection<X> boolean add(object o) boolean add(x o) boolean contains(object o) boolean contains(x o) boolean remove(object o) boolean remove(x o) int size() boolean isempty() Iterator iterator() int size() boolean isempty() Iterator<X> iterator()
4 4 Collezioni: accesso agli elementi Iteratore: strumento per "ciclare" su una collezione di elementi, determinando di volta in volta l'elemento "successivo" Iterator boolean hasnext() Object next() Iterator<X> boolean hasnext() X next() Accesso diretto ArrayList ArrayList<X> Object get(int i) X get(int i) Object set(int i, Object o) X set(int i, X o) Object remove(int i) X remove(int i) void add(int i, Object o) void add(int i, X o) int indexof(object o) int indexof(x o)
5 5 Mappe Tabelle a due colonne: le chiavi (1ª colonna) identificano univocamente gli elementi nella 2ª colonna. Si può accedere direttamente ad un elemento, conoscendo la chiave associata HashMap<X,Y> Y put(x k, Y v) Y get(x k) Y remove(x k) int size() boolean isempty() Set<X> keyset() Chiave Mario Rossi, Via col vento 18. Valore Esempio elenco telefonico: Ad ogni persona (nome, cognome, indirizzo) è associato un numero di telefono Map<Persona,String> elenco = new HashMap<Persona, String>(); Persona p = new Persona("Mario","Rossi","Via col vento, 18"); elenco.put(p," "); String numerocercato = elenco.get(p);
6 6 Esercizio 1: piano telefonico Si scriva un programma Java che definisca opportuni classi, costruttori e metodi per un servizio di telefonia. I dati gestiti dal programma sono relativi a: Tariffe, caratterizzate dalle informazioni: codice, nome. Telefonate, caratterizzate dalle informazioni: sorgente (numero del telefono che chiama), destinazione (numero chiamato), durata, data (stringa nel formato gg/mm/aaaa). Le tariffe si suddividono in: Flat (codice F-<#progressivo>), con un canone mensile. A minuti (codice M-<#progressivo>), con costo al minuto e scatto alla risposta. Si supponga che tali informazioni siano contenute in una classe GestoreTelefonico nelle strutture dati: un vettore tariffe, contenente le tariffe (max 15); Un insieme telefonate, contenente le telefonate; una mappa tariffeutenti, che associa ad ogni numero di telefono la tariffa. Si assuma che le strutture dati siano già inizializzate con un numero imprecisato di elementi. Si definiscano i soli metodi getter e setter necessari all esecuzione del programma. Si utilizzi la programmazione generica.
7 Esercizio 1: piano telefonico Si definiscano i seguenti metodi, all interno dei quali non è consentita l immissione di valori da standard input (escluso il programma principale o se diversamente specificato)(n.b.: svolgere tutti i punti nel modo più efficiente): 1. metodo cercatariffa che, dato il nome di una tariffa, restituisca la tariffa corrispondente, lanciando un'eccezione se questa non viene trovata 2. metodo registrautente che, dato il numero di un utente e il nome di una tariffa, aggiunga alla mappa una nuova coppia numero-tariffa. Si utilizzi il metodo del punto 1, senza gestire l'eccezione lanciata. 3. metodo telefonatemensili che, dati il numero di telefono di un utente e una stringa contenente un mese di riferimento (nel formato mm/aaaa), restituisca la lista delle telefonate effettuate dall'utente in quel mese. 4. metodo calcolacostomensile che, dati il numero di telefono di un utente e una stringa contenente un mese di riferimento (nel formato mm/aaaa), calcoli l'importo dovuto dall'utente: se l'utente ha una tariffa flat, paga solo il canone mensile, altrimenti, l'importo è dato dalla somma dei costi delle singole telefonate (durata * costo al minuto + scatto alla risposta). Il programma principale deve, infine, svolgere seguenti punti: a) richiedere all utente numero di telefono e il nome di una tariffa e richiamare il metodo del punto 2) per la registrazione, gestendo eventuali eccezioni e richiedendo l'inserimento dei dati. b) richiedere all utente numero di telefono e un mese e richiamare il metodo del punto 4), stampando a video il risultato. 7
8 8 Esercizio 2: e-learning Si scriva un programma Java che definisca opportuni classi, costruttori e metodi per la gestione di una piattaforma di e-learning. I dati gestiti dal programma sono relativi a: Contenuti, caratterizzati da un codice. Studenti, caratterizzati da un nome e da una tabella che associa ad ogni test il voto ottenuto. I contenuti si suddividono in: Lezioni (codice L-<#progressivo>), caratterizzate da un testo e un insieme di argomenti. Test (codice T-<#progressivo>), con un argomento e una lista di quiz (domanda e risposta vero/falso). Si supponga che tali informazioni siano contenute in una classe Corso, in un vettore contenuti, contenente massimo 100 contenuti; Si assuma che le strutture dati siano già inizializzate con un numero imprecisato di elementi. Si definiscano i soli metodi getter e setter necessari all esecuzione del programma. Si utilizzi la programmazione generica.
9 9 Esercizio 2: e-learning Si definiscano i seguenti metodi, all interno dei quali non è consentita l immissione di valori da standard input (escluso il programma principale o se diversamente specificato)(n.b.: svolgere tutti i punti nel modo più efficiente): 1. metodo calcolavoto che, data una lista di risposte, le confronti con le risposte corrette ai quiz in un test, calcolando un voto in decimi ((risposte corrette/n quesiti) *10) e restituendo un voto espresso come: Insufficiente(voto<6), Sufficiente (6<=voto<7), Buono (7<=voto<8), Ottimo (voto >=8). Si lanci un eccezione se il numero di risposte date in ingresso non è uguale al numero di domande nel test. 2. metodo lezioniperargomento che, dato un argomento, restituisca la lista delle lezioni che trattano tale argomento. 3. metodo sostienitest che, dati il codice di un test, lo studente e una lista di risposte, cerchi il test corrispondente, invochi il metodo del punto 1) per calcolare il voto e lo aggiunga alla mappa dei test sostenuti dallo studente. Si rilanci l eccezione del metodo del punto 1) e si lanci un eccezione se non viene trovato nessun test relativo all argomento in ingresso. 4. metodo verificaconclusionecorso che, dato uno studente, verifichi se l utente ha sostenuto tutti i test, riportando voti non inferiori a Sufficiente. Il programma principale deve, infine, svolgere seguenti punti: a) richiedere all utente l argomento di una lezione, invocare il metodo del punto 2 e mostrare a video il codice e il testo di ogni lezione trovata. b) richiedere all utente il codice di un test e una lista di risposte, invocare i metodi del punto 3 e del punto 4 (relativamente ad uno studente creato in precedenza), mostrando a video i risultati.
Fondamenti di Informatica T-1. Collezioni
Collezioni 2 Collezioni Java Collection Framework (JCF): supporto a qualunque struttura dati per contenere "elementi generici". Collection: nessuna ipotesi sul tipo di collezione Set: introduce l idea
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Collezioni, Mappe e Iteratori Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 14 Interfaccia
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Mappe Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 1 Mappe: definizione Tabelle a due colonne:
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Collezioni: ArrayList Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 13 Interfaccia L interfaccia
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Ereditarietà Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 15 Ereditarietà: definizione Meccanismo per definire
DettagliCollezioni, mappe e iteratori (a cura del Prof. Marco Patella)
, mappe e iteratori (a cura del Prof. Marco Patella) 1 Introduzione al Java Collections Framework Una collezione (o contenitore) consente di organizzare e gestire un gruppo di oggetti collezioni (vere
DettagliConoscere l uso delle collezioni in Java. Conoscere il concetto di Generics (programmazione
1 Conoscere l uso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali classi di Collection usare in casi specifici Conoscere
DettagliProgrammazione in Java Parte II
Programmazione in Java Parte II Lezione 7 Dott. Marco Faella Il Java Collection Framework Java Collection Framework (JCF) è una parte della libreria standard dedicata alle collezioni, intese come classi
DettagliGenerics & Collections
Generics & Collections Ingegneria del software Jody Marca jody.marca@polimi.it I Generics 2 I Generics rendono possibile definire tipi parametrici tramite classi ed interfacce che gestiscono tipi generici
DettagliCollezioni. (a cura del Prof. Marco Patella)
(a cura del Prof. Marco Patella) 1 Introduzione al Java Collections Framework Una collezione (o contenitore) consente di organizzare e gestire un gruppo di oggetti collezioni (vere e proprie) mappe implementate
DettagliFondamenti di Informatica T1 Mappe
Fondamenti di Informatica T1 Mappe Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 16 Mappe Matrice N x 2 : Gli elementi della prima colonna,
DettagliSTRUTTURE DINAMICHE. (slide: A. Baratè L.A. Ludovico) Programmazione per la Musica Adriano Baratè
STRUTTURE DINAMICHE (slide: A. Baratè L.A. Ludovico) Programmazione per la Musica Adriano Baratè DIFFERENZE RISPETTO AD ARRAY Finora le collezioni di dati sono state dichiarate come array (di stringhe,
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Interfaccia Comparable e Collezioni Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 22 Interfaccia
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Classi e oggetti(2) Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 10 ESERCIZIO SVOLTO (1) Si vuole scrivere
DettagliESERCIZIO 1 ESERCIZIO 1
Si crei un progetto Java che mappi un semplice sistema medico. Il progetto deve contenere tre classi: una per i pazienti, una per le patologie e una per il main. Inoltre si definiscano le seguenti eccezioni:
DettagliFondamenti di Informatica T1 Interfaccia Comparable Collezioni
Fondamenti di Informatica T1 Interfaccia Comparable Collezioni Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 19 Interfaccia Comparable Fa
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione e rimane immutato.
DettagliIntroduzione al Java Collections Framework. Java Collections Framework (cont.) Interfacce del Collections Framework
Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Introduzione al Java Collections
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Classi e Oggetti Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 19 CLASSE: definizione Costrutto
DettagliIntroduzione al Java Collections Framework
Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Insegnamento di PROGETTAZIONE
DettagliMetodi di una Collection
Java Collections Introduzione Una java collection (a volte chiamata anche container) è un oggetto che raggruppa più elementi dello stesso tipo in una singola unità. Tipicamente è utilizzata per raggruppare
DettagliProgettazione del Software
Progettazione del Software Programmazione in Java (6) The Collections Framework Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di
DettagliStrutture lineari in Java
Strutture lineari in Java Scopo della esercitazione è quello di utilizzare strutture lineari del Java Collection Framework per realizzare strutture più complesse come le matrici. 1 Prerequisiti Verranno
DettagliIntroduzione al Java Collections Framework. Laboratorio di Programmazione Anno Accademico Interfacce del Collections Framework
Università di Roma La Sapienza, Facoltà di Ingegneria Corso di Laboratorio di Programmazione Anno Accademico 2004-2005 Corso di Laurea in Ingegneria Informatica Prof. Giuseppe De Giacomo (A L) & Prof.
DettagliBank. Bank. BankAccount. Bank. Bank. private BankAccount[] conti; // Posizione attuale private int posizioneattuale;...
Bank BankAccount Bank Bank Bank BankAccount private BankAccount[] conti; // Posizione attuale private int posizioneattuale;... Bank Bank public Bank(String nome, String internationalcode, int dimensione)
DettagliNotazione grafica UML
Notazione grafica UML Estensione e implementazione in UML: estende implementa Per classi astratte e interfacce i nomi vanno in corsivo preceduti da e UtenteComputer
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList Fondamenti di Informatica L-B 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito
DettagliAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Ingegneria del software A Collezioni di oggetti (in Java) Michele Tomaiuolo Framework Framework
Dettagli# $ $ A.A. 2006/07 Tutor: Daniele Tiles &== ? &7$ %% & '( ) * + $, $ $ -' %./, $ * $ $ 7 5 &7 2$ $ $ 3&4&&&
! A.A. 2006/07 Tutor: Daniele Tiles daniele.tiles@studio.unibo.it # $ $ %% & '( ) * + $, $ $ -' %./, 01 5 6 $ * $ $ 7 5 &7 2$ $ $ 3&4&&& 5 +8$ 9%: 5 6;< &&$ $ &== 1&:+$!*? &7$ $ @$ 1&&# &A1+ $ $ $, $,
DettagliFondamenti di Informatica T-1. Costruttori Ereditarietà
Costruttori Ereditarietà 2 Costruttori Si occupano della creazione e dell'allocazione in memoria degli oggetti. public class Persona{ //Variabili di istanza private String nome; private String cognome;
DettagliFondamenti di Informatica T-1. Classi e oggetti
Classi e oggetti 2 Classi Costrutto linguistico che permette di costruire componenti software che: Modellano entità del sistema come tipo di dato, definendone le caratteristiche e le operazioni Possono
DettagliLaboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale. Anno Accademico 2013/2014
Laboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale Anno Accademico 2013/2014 Collection Framework Collection: oggetto che raggruppa più elementi in una singola unità. per memorizzare,
DettagliFondamenti di Informatica T-1. Classi e metodi astratti
Classi e metodi astratti 2 Classi astratte L'ereditarietà è utile per rappresentare tassonomie e gerarchie di entità reali. Non sempre però tutti i livelli della gerarchia rappresentano entità concrete.
DettagliFondamenti di Informatica T-1. Classi e array
Classi e array 2 Classi e metodi statici Una classe è un costrutto linguistico che permette di modellare un'entità di un sistema, definendone le caratteristiche (variabili interne) e le azioni (metodi).
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Incapsulamento versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliIl Java Collections Framework
Il Java Collections Framework Il Java Collections Framework è una libreria formata da un insieme di interfacce e di classi che le implementano per lavorare con gruppi di oggetti (collezioni). Le interfacce
DettagliUn interfaccia è una classe completamente astratta, senza attributi(solo una collezione di firme di metodi pubblici e astratti)
Interface Interfacce Un interfaccia è una classe completamente astratta, senza attributi(solo una collezione di firme di metodi pubblici e astratti) Sintassi: interface {
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Incapsulamento versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliCorso di Progettazione del Software
T. Mancini & M. Scannapieco S.JOO.6 Java Collections Framework February 2, 2008 p. 1/28 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList! Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione
DettagliCollezioni in Java. Emilio Di Giacomo e Walter Didimo
Collezioni in Java Emilio Di Giacomo e Walter Didimo Strutture dati Una struttura dati è un contenitore in cui i dati sono organizzati in maniera che possano essere recuperati e manipolati efficientemente
DettagliArrayList. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni
ArrayList Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni ArrayList Sotto diversi aspetti un ArrayList può essere considerato come un array migliore. I Miglioramenti sono
DettagliLe collezioni di oggetti. Prof. Accarino IIS Altiero Spinelli via Leopardi 132 Sesto San Giovanni
Le collezioni di oggetti Prof. Accarino IIS Altiero Spinelli via Leopardi 132 Sesto San Giovanni Contenitori di oggetti Java mette a disposizione una libreria per gestire gruppi di oggetti organizzandola
DettagliArray. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere
DettagliProva di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
DettagliProgrammazione in Java (I modulo) Lezione 20: Ereditarietà
Programmazione in Java (I modulo) Lezione 20: Ereditarietà Ereditarietà (Inheritance) Il programmatore definisce una classe generale In seguito definisce una classe più specifica Aggiungo soltanto nuovi
DettagliE21 Esercizi sulle collezioni in Java
E21 Esercizi sulle collezioni in Java Esercizio 1. Sia data una classe Contatto le cui istanze rappresentano contatti telefonici. Ogni contatto ha un nome, un cognome e un numero telefonico (tutti di tipo
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Metodi polimorfi: upcast e downcast Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 15 Metodo polimorfo Un metodo
DettagliTesto di Riferimento (usato nei corsi precedenti)
Parti II e III 1 Framework Collections in Java: API Java http://java.sun.com/ Generics in Java Tutorial Sun (in inglese) http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf Testo di Riferimento (usato
DettagliClasse Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi:
Classe Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi: Vettore(int n): crea un oggetto Vettore contente n elementi, inizializzati
Dettaglitipi di dato astratti
tipi di dato astratti A. FERRARI ADT Un tipo di dato astratto o ADT (Abstract Data Type) è un tipo di dato le cui istanze possono essere manipolate con modalità che dipendono esclusivamente dalla semantica
DettagliSET: specifica INTRODUZIONE. SET: esempio Si stampano i numeri casuali in ordine di generazione e il contenuto dell insieme.
INTRODUZIONE Il tipo di dati astratto insieme (set) definisce operazioni, quali inserimento e rimozione, su collezioni di oggetti che presentano molteplicità uno, cioè non sono ammessi duplicati. Una possibile
DettagliCOMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni
COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 10 Dicembre 2001 Alcune Soluzioni ESERCIZIO 1. Si consideri il seguente frammento di codice in linguaggio Java: int[][] a = new int[n][n]; for (int i
DettagliImplementazione delle classi
Implementazione delle classi Abbiamo visto che, quando si istanzia un oggetto di una classe, è necessario chiamare il costruttore; Quando si implementa una classe è quindi sempre necessario progettare
DettagliIL CONCETTO DI CLASSE
IL CONCETTO DI CLASSE Una CLASSE riunisce le proprietà di: componente software: può essere dotata di suoi propri dati / operazioni moduli: riunisce dati e relative operazioni, fornendo idonei meccanismi
DettagliIl TDA Map. Tabelle hash
Il TDA Map Tabelle hash Definizione informale Il TDA Map memorizza coppie formate da una chiave k e da un valore v La coppia è chiamata entry Ogni chiave deve essere unica Questa è la differenza principale
DettagliDefinizione informale. Il TDA Map memorizza coppie formate da una chiave k e da un valore v. La coppia è chiamata entry. Ogni chiave deve essere unica
Il TDA Map Tabelle hash Definizione informale Il TDA Map memorizza coppie formate da una chiave k e da un valore v La coppia è chiamata entry Ogni chiave deve essere unica Questa è la differenza principale
DettagliIl TDA Map. Definizione informale. I metodi del TDA Map 2. I metodi del TDA Map 1. Interfaccia Map 1 NO_SUCH_KEY. Tabelle hash
Il TDA Map Tabelle hash Definizione informale Il TDA Map memorizza coppie formate da una chiave k e da un valore v La coppia è chiamata entry Ogni chiave deve essere unica Questa è la differenza principale
DettagliParte I Java. Metodologie di Programmaziona Secondo Appello, 14/2/2006 1
Metodologie di Programmaziona 05 06 Secondo Appello, 14/2/2006 1 Parte I Java Considerate le seguenti definizioni di classe. class T { class S extends T { class A { public void print(string s) { System.out.println(s);
DettagliSi usano quando serve accesso rapido sia in lettura che in scrittura su un insieme non ordinato
Le tavole hash È il modo con cui sono realizzati gli HashSet Si usano quando serve accesso rapido sia in lettura che in scrittura su un insieme non ordinato Principio base Gli array hanno le caratteristiche
Dettaglijava.util.map ALBERTO FERRARI
java.util.map ALBERTO FERRARI java.util.map Map non estende Collection memorizza insiemi di coppie di elementi contraddistinti da una chiave e dal valore ad essa associato la chiave identifica univocamente
Dettaglisemplici ogni elemento contiene un riferimento al successivo doppie ogni elemento contiene un riferimento al successivo e al precedente
1 of 23 22/11/2004 10.23 Liste: semplici ogni elemento contiene un riferimento al successivo doppie ogni elemento contiene un riferimento al successivo e al precedente Rappresentazione grafica Lista semplice:
Dettaglisemplici ogni elemento contiene un riferimento al successivo doppie ogni elemento contiene un riferimento al successivo e al precedente
Liste doppie Liste: semplici ogni elemento contiene un riferimento al successivo doppie ogni elemento contiene un riferimento al successivo e al precedente Rappresentazione grafica semplice: doppia: Gli
DettagliOLTRE LE CLASSI OLTRE LE CLASSI
OLTRE LE CLASSI Nella sua parte non statica, una classe fornisce la definizione di un ADT parte visibile esternamente (public) implementazione dati privati, protetti, o visibili nel package metodi privati,
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Metodi polimorfi: upcast e downcast Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 13 Metodo polimorfo Un metodo
DettagliCOMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre 2001
COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 10 Dicembre 2001 NOME COGNOME MATRICOLA Scrivere in stampatello Nome, Cognome e Matricola su ogni foglio consegnato. ESERCIZIO 1. Si consideri il seguente
DettagliProgettazione del Software Anno Accademico
Università di Roma La Sapienza, Facoltà di Ingegneria Corso di Progettazione del Software Anno Accademico 2003-2004 Corso di Laurea in Ingegneria Gestionale Prof. Giuseppe De Giacomo & Prof. Monica Scannapieco
DettagliIntroduzione al Java Collections Framework. Progettazione del Software Anno Accademico Interfacce del Collections Framework
Università di Roma La Sapienza, Facoltà di Ingegneria Corso di Progettazione del Software Anno Accademico 2003-2004 Corso di Laurea in Ingegneria Gestionale Prof. Giuseppe De Giacomo & Prof. Monica Scannapieco
DettagliListe concatenate. Collezione ordinata di nodi. Carlo Paolo Simona. Anna. ciascun nodo contiene due riferimenti:
Liste concatenate Collezione ordinata di nodi head tail next next next next element element element element Ø Anna Carlo Paolo Simona ciascun nodo contiene due riferimenti: - un riferimento "element" a
Dettagli14. Java Collection Framework Le collezioni: insiemi e liste
14. Java Collection Framework Le collezioni: insiemi e liste Marco Faella Dip. Ing. Elettrica e Tecnologie dell'informazione Università di Napoli Federico II Corso di Linguaggi di Programmazione II Il
DettagliOLTRE LE CLASSI OLTRE LE CLASSI OLTRE LE CLASSI OLTRE LE CLASSI. Alcune domande. Nella sua parte non statica, una classe
Nella sua parte non statica, una classe fornisce la definizione di un ADT parte visibile esternamente (public) implementazione dati privati, protetti, o visibili nel package metodi privati, protetti, o
DettagliListe doppie. Doubly Linked Lists. GT: 6.2 (e 3.3) Argomenti della lezione
Liste doppie GT: 6.2 (e 3.3) Doubly Linked Lists 1 Argomenti della lezione ADT Position NodeList interface Position PositionList class DNode NodePositionList inserzione rimozione Iteratore ADT Iterator
DettagliIntroduzione Generics Iteratori. Collezioni in Java. Dr. Giulio Pellitta. 13 aprile 2011
13 aprile 2011 Cos è una collezione? Gerarchia delle collezioni Introduzione Una collezione è semplicemente un oggetto che raggruppa più oggetti (detti elementi della collezione) in una singola unità.
DettagliLezione 6 programmazione in Java
Lezione 6 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi
DettagliINFORMATICA III Parte B -Progettazione e Algoritmi
INFORMATICA III Parte B -Progettazione e Algoritmi Implementazione di codice algoritmico in Java Patrizia Scandurra patrizia.scandurra@unibg.it Università degli Studi di Bergamo a.a. 2010-11 Stessa interfaccia,
Dettaglisoluzioneluglio.txt 1. Scrivere una funzione che restituisce la data dinascita di un determinato studente.
Testo esercizio: Si supponga di avere a disposizione un vettore contenente l elenco degli alunni iscritti al Politecnico, con la relativa data di nascita. Ogni nome è separato dalla data dal carattere
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Classi e metodi astratti Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 15 Classa astratta: definizione
DettagliSi descriva il comportamento del metodo main della classe ES2: cosa viene stampato sul video? Giustificare la risposta.
Esame scritto di: Fondamenti di Informatica - corsi 4 e 5 Data: 12 dicembre 2001 Traccia: B Tempo disponibile: 3 ore Cognome Nome Matricola Corso CORSO DI LAUREA Esercizio 1. Si consideri la seguente classe:
Dettagli3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;
Un esempio di definizione di classe con array di oggetti Sia data la classe StudUniv per gli studenti universitari (definita in una lezione precedente). Scrivere una nuova classe Corso, dove ciascun corso
DettagliCapitolo 17. Animated Version
Capitolo 17 Animated Version Introduzione al Java Collections Framework Una collezione (o contenitore) consente di organizzare e gestire un gruppo di oggetti collezioni (vere e proprie) mappe implementate
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Array Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 14 ARRAY (1) Un vettore (array) è un insieme
DettagliClassi ed Oggetti. Fondamenti di Informatica A-K
Classi ed Oggetti Fondamenti di Informatica A-K Esercitazione 5 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti,
DettagliFondamenti di informatica Oggetti e Java. Luca Cabibbo. Collezioni++ (Aggiunte di Marco Patella) Capitolo 26.bis. aprile 2006.
Fondamenti di informatica Oggetti e Java Luca Cabibbo ++ (Aggiunte di Marco Patella) Capitolo 26.bis aprile 2006 1 Problemi delle collezioni Dal momento che ogni collezione contiene oggetti di tipo Object
DettagliEsercizi 5 CICLI. Es.5(cicli)
Esercizi 5 CICLI 1 Es.5(cicli) Esercizio 1 Realizzare una funzione che, chiesto all utente un numero intero pari a N, ricavi e stampi a video tutte le terne pitagoriche con i cateti minori o uguali ad
DettagliAlgoritmi e strutture dati
Algoritmi e strutture dati Argomenti Strutture dati elementari e loro implementazioni in Java: Vettori Liste Stack (Pile) Queue (Code) Esempi di applicazione Tipo di dato astratto Tipo di dato astratto
DettagliL ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo
Design Pattern L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo sviluppo dei programmi, il loro mantenimento,
DettagliArgomenti della lezione. Tipo di dato astratto. Array. Tipo di dato Lista. Liste Implementazione di liste in Java Stack Code
Argomenti della lezione! Tipi di dato astratti! Strutture dati elementari Liste Implementazione di liste in Java Stack Code! Esempi di applicazione Tipo di dato astratto! Tipo di dato astratto o ADT (Abstract
DettagliEsercizio: Lista Circolare
Esercizio: Lista Circolare Si realizzi in Java un gestore di una lista circolare. La dimensione minima della lista è 2 elementi (ed è anche la dimensione iniziale). La dimensione massima è 20 elementi.
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Ereditarietà Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 12 Ereditarietà: definizione Meccanismo per definire
DettagliSul pattern Iterator
Sul pattern Iterator 1 Introduzione Capita spesso di aver a che fare con strutture dati complesse, come ad esempio, liste, code, ecc. È buona norma accedere a queste strutture senza esporre la loro organizzazione.
DettagliDiagramma delle classi UML. Diagramma e specifica degli use case. Specifica delel classi del diagramma
Università di Roma La Sapienza, Facoltà di Ingegneria Diagramma delle classi UML Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Giuseppe De Giacomo e Monica Scannapieco, A.A. 2003-04 SOLUZIONE ESAME
DettagliProgrammazione II Compitino (Vers. B)
Programmazione II Compitino (Vers. B) 17 dicembre 2015 Cognome Jackson Nome Michael Matricola 696969 Anno di corso 1 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi
DettagliFondamenti di Informatica L-B Esercitazione n 6 Java: Collezioni, Classe Wrapper & Generics
Fondamenti di Informatica L-B Esercitazione n 6 Java: Collezioni, Classe Wrapper & Generics A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Strutture Dati in Java Molto spesso,
DettagliFondamenti di Informatica L-B Esercitazione n 6 Java: Collezioni, Classe Wrapper & Generics. Strutture Dati in Java
Fondamenti di Informatica L-B Esercitazione n 6 Java: Collezioni, Classe Wrapper & Generics A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Strutture Dati in Java Molto spesso,
Dettagli18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Tecniche di Programmazione: Collezioni Parte b versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi
DettagliLezione 6 Collezioni. Il concetto astratto di collezione. Servizio minimo: IContainer. Stack (pila)
Lezione 6 Collezioni Il problema delle collezioni è molto vasto, ed è stato oggetto di studio fin dai primordi dell'informatica. Per esplorarlo senza perdersi è bene proporsi un metodo. Seguiremo il seguente:
Dettagli