Fondamenti di informatica T-A Esercitazione 7 : Collezioni AA 2012/2013 Tutor : Domenico Di Carlo.

Slides:



Advertisements
Presentazioni simili
1 Le s-espressioni. 2 Un nuovo esempio completo: le s-espressioni Sexpr 4 alberi binari (possibilmente vuoti) che hanno sulle foglie atomi (stringhe)
Advertisements

1 Progettazione gerarchica delle s- espressioni, utilizzando lereditarietà
Interfacce Java.
ESEMPI DISEQUAZIONI IRRAZIONALI
Capitolo 7 Programmazione con metodi e classi Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © 2004.
Esercizio 2. Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) durante la valutazione delle seguenti dichiarazioni di classe.
Metodi Quantitativi per Economia, Finanza e Management Lezione n°7.
Programmazione Parametrica ( a.k.a. Generics )
Programmazione Parametrica ( a.k.a. Generics ). Introduzione ai meccanismi e concetti della programmazione parametrica Generics e relationi di sottotipo.
JDK Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dellInformazione Università di Siena Via Roma 56 – – SIENA Uff
Model – View - Controller
Esempio: Tombola! Parte seconda.
Unified Modeling Language class C {…} class B extends C {…} Esiste una notazione grafica per mostrare le relazioni di ereditarietà. Object StringC B Tutte.
J0 1 Marco Ronchetti Java Threads & Sincronizzazione.
J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialitica in Informatica – Università di Trento.
Sezione: Costruttori Costruttori. Definizione dei costruttori Se per una classe A non scrivo nessun costruttore, il sistema automaticamente crea il costruttore.
Cenni di Real-Time JAVA E.Mumolo, DEEI
Astrazioni sul controllo Iteratori. 2 Nuove iterazioni Definendo un nuovo tipo come collezione di oggetti (p. es., set) si vorrebbe disporre anche di.
1 Ultima Lezione del Corso di Fondamenti di Informatica 1 a.a – 06 Ma 29-Nov-2005.
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
Java Database Connection (dal corso dei Servizi Web)
Università La Sapienza Ingegneria del Software I 1 Ingegneria del software I Seminario 3:Enterprise Java Beans.
1 Implementazione di Linguaggi 2 PARTE 6 Implementazione di Linguaggi 2 PARTE 6 Massimo Ancona DISI Università di Genova Testo: A.V. Aho, R. Sethi, J.D.Ullman.
1 Meccanismi per la definizione di tipi di dato §la programmazione di applicazioni consiste in gran parte nella definizione di nuovi tipi di dato §un qualunque.
2000 Prentice Hall, Inc. All rights reserved. 1 Capitolo 6: Classi e astrazione dati 1.Introduzione 2.Definizione delle strutture 3.Accedere ai membri.
1 laboratorio di calcolo II AA 2003/04 ottava settimana a cura di Domizia Orestano Dipartimento di Fisica Stanza tel. ( )
Packages. Package: insieme di classi e interfacce in relazione Per formare un package basta inserire la direttiva come prima istruzione nel file sorgente.
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
Java Collections.
Java base VI: Gestione I/O. Argomenti Introdurre le API per linput e output in Java.
Introduzione alla modellazione di sistemi interattivi
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Access for WEB Che cosa è Access for WEB Come si connette Emulazione 5250 Grafica Le stampanti IFS Il Data Base Gestione dei Download.
1 © 2013 Cobra Italia SpA All rights reserved Cobra group website Gennaio 2013.
MIC 2008, Roma Antonio Pistoia Università Politecnica delle Marche MOODLELab Uno strumento per MOODLE per la gestione dei telelaboratori durante i corsi.
Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria di Modena Corso di Laurea Specialistica in Ingegneria Informatica Analisi e valutazione.
Scuola Primaria MURATORI e MENOTTI Milano
Trasferimento Questanno otto classi della Leonardo da Vinci si sono trasferite nella scuola di via Cova a causa della ristrutturazione che la nostra Leonardo.
QUALI REGOLE? Regole sociali-giuridiche Regole di convivenza
Esercitazione di Basi di Dati Corso di Fondamenti di Informatica Marco Pennacchiotti Tel Ing.dellInformazione,
I.P.S.S.C.T.P.DE PACE. ALTERNANZA SCUOLA LAVORO che cos'è Se hai compiuto quindici anni,la tua scuola, attuando il D.L. 77 del 15 aprile 2005, ti dà l'opportunità
+ di Roshane Campbell La Vita Bohème negli Stati Uniti.
PROGETTO “NASTRO FERMI”
Primi passi con Windows: Gestione del Desktop Barra Applicazioni Menu Avvio ISTITUTO COMPRENSIVO N.7 - VIA VIVALDI - IMOLA Via Vivaldi, Imola.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 15 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –
Le idee di DOMOD prendono forma a partire dagli oggetti, spesso abbandonati e trovati per puro caso, magari sono porzioni di radici o di rami che cambiano.
Il Booking Engine Html di HermesHotels è studiato per permettere I-Frame sui siti degli Hotels. Disponibile anche in modalità Pop- Up https, simile.
SCUOLA SECONDARIA DI PRIMO GRADO CLASSI III A E III B ISTITUTO COMPRENSIVO T. GULLUNI Colonna (Roma)
Università degli Studi di Torino Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Fisica Relatore: Prof. Alessandra Romero Correlatore:
Lattuca Lucia Maria Pia 1^D -A.B.I. a.s. 2012/2013 CLICCA QUI PER ANDARE AL SITO DEL LICEO SCIENTIFICO.
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
Sviluppo di una Xlet per la TV digitale terrestre Vademecum della regione marche 2006 Ventura Luca.
PON LEW Landslide Early Warning SAL III Aprile 2013 Autostrade Tech S.p.A. PON LEW Landslide Early Warning SAL III Aprile 2013 Autostrade Tech S.p.A. SISTEMI.
RAGAZZE, RAGAZZI, AL LAVORO!
Moduli o Form I Moduli permettono all'utente di immettere informazioni...
Riva del Garda Fierecongressi Richiesta di parere per impianto destinzione automatico a pioggia. Si tratta dellampliamento di un impianto esistente, inferiore.
Fondamenti di Informatica Corsi di Laurea in Ingegneria Gestionale Canale AL ESERCITAZIONE 6 ARGOMENTI: LAVORARE CON CLASSI METODI DELLISTANZA, COSTRUTTORI.
PROGETTO DI STRUMENTI PER LA CONFIGURAZIONE DI APPLICAZIONI JAVA ENTERPRISE Anno Accademico 2006 / 2007 Sessione III FACOLTÀ DI INGEGNERIA CORSO DI LAUREA.
Voting Sistema di votazione telematica. Che cosè Sito web per gestire votazioni tramite internet La sezione amministratore permette di progettare lo scenario.
Giancarlo Colferai - CEPAS
CHI SIAMO è una società di consulenza. Il nostro CORE BUSINESS è costituito dallattività di: PROJECT MANAGEMENT, SYSTEM INTEGRATOR in ambiente SAP WEB.
Ese 2 (del 31 Marzo 2004). Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) durante la valutazione delle seguenti dichiarazioni.
Multiset. Progettare (specifica con identificazione delle eventuali astrazioni necessarie, incluse eccezioni, e implementazione) del tipo di dato Multiset,
VB.NET Sviluppo Applicazioni Desktop
Test con JUnit. zJUnit è un ambiente di test per programmi Java ySviluppato da Kent Beck É possibile usare JUnit allinterno di Eclipse per eseguire i.
Collection & Generics in Java
JDBC Java DataBase Connectivity SISTEMI ITIS B. CASTELLI Anno Scolastico
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Unità didattica 1: Introduzione al linguaggio Java
UML Diagramma statico di una classe
Transcript della presentazione:

Fondamenti di informatica T-A Esercitazione 7 : Collezioni AA 2012/2013 Tutor : Domenico Di Carlo

Collection java.util.Collection è un'interfaccia, più nello specifico è l'interfaccia radice in una tassonomia di interfacce e di classi concrete Una collection rappresenta un qualunque gruppo di oggetti ▫ Alcune collezioni permettono l'esistenza di duplicati, altre no. ▫ Alcune sono collezioni ordinate, altre no. L'ordinamento viene effettuato secondo il criterio definito nella compareTo(Object) La JDK non prevede implementazione alcuna per questa interfaccia : prevede invece classi (come TreeSet ed ArrayList) che implementaano interefacce più specifiche da essa derivate (come Set e List). Fondamenti di informatica A-K - Domenico Di Carlo

Collection L'interfaccia Collection definisce (ma non implementa) alcuni metodi base, quali : ▫ boolean add (Element e) <- per inserire un elemento ▫ boolean remove (Element e) <- per eliminare un elemento ▫ int size() <- restituisce il numero di elementi nella collezione ▫ Bollean isEmpty() <- restituisce true se è vuota List, Queue, Set etc sono interfacce loro stesse ! Fondamenti di informatica A-K - Domenico Di Carlo

Esempio pratico : ArrayList ArrayList ▫ Una collezione in cui :  posso inserire l'emento i-esimo ad un indice specifico  add(int index, E element) Inserts the specified element at the specified position in this list. addE  add(E e) Appends the specified element to the end of this list. addE  in cui possono apparire duplicati.  La classe ArrayList implementa l'interfaccia List Esempio: List strings = new ArrayList (); strings.add("Two"); strings.add("Three"); strings.add(0, "One"); strings.add(3, "One"); strings.add("Three"); strings.add(strings.size() - 1, "Two"); System.out.println(strings); // Output: [One, Two, Three, One, Two, Three] Fondamenti di informatica A-K - Domenico Di Carlo

Esempio pratico : TreeSet TreeSet ▫ Una collezione che  impone ordinamento naturale (interfaccia Comparable)  add(E e) Adds the specified element to this set if it is not already present. addE  senza duplicati, cioè in cui non può esistere una coppia di elementi e1 ed e2 tali per cui e1.equals(e2).  La classe Treeset implementa l'interfaccia SortedSet che a sua volta implementa l'interfaccia Set Esempio: SortedSet sortedSet = new TreeSet (); sortedSet.add("One"); sortedSet.add("Two"); sortedSet.add("One"); sortedSet.add("Three"); System.out.println(sortedSet.toString()); // Output: [One, Three, Two] // (natural order : o<th<tw, no duplicates) Fondamenti di informatica A-K - Domenico Di Carlo

Array VS Arraylist Array : ▫ Contengono solo oggetti dello stesso tipo, non possiamo avere in uno stesso Array una Stringa ed un intero ▫ Sono di dimensione prefissata e non estendibile Fondamenti di informatica A-K - Domenico Di Carlo ArrayList : ▫ Possono contenere oggetti qualsiasi. All'interno della medesima istanza di ArrayList possiamo trovare un float ed una Stringa ▫ La dimensione iniziale non è predeterminata, andando ad aggiungere o rimuovere elementi c'è un resize automatico

Treeset, Esercitazione 7.1 Fondamenti di informatica A-K - Domenico Di Carlo

Esercitazione 7.2 Si vogliono gestire gli autoveicoli registrati presso un ufficio di motorizzazione Civile. L’ufficio memorizza modello, targa ed anno di immatricolazione di ogni automobile registrata. Si definisca la classe “Automobile”, che: ▫ presenti dei campi interni per memorizzare i dati necessari ▫ definisca un costruttore opportuno ▫ definisca i metodi per accedere ai campi interni ▫ definisca il metodo “equals” per stabilire l’uguaglianza con un’altra automobile (l’uguaglianza va verificata solo sulla targa) ▫ implementi l’interfaccia “Comparable”, per stabilire la precedenza con un’altra automobile (si utilizzi l’ordine alfabetico sulle targhe) Una applicazione di test (Esercitazione 72) che crei un insieme di auto che non ammetta elementi ripetuti. Lo popoli inventando qualche auto del tipo : ▫ mezzi.add(new Automobile("Seat Ibiza", "DS244TC", 2009)); stampi a video l'insieme creato e valuti la soluzione ottenuta provando ad inserire più volte un'auto già presente Fondamenti di informatica A-K - Domenico Di Carlo

Esercitazione 7.3 Per gestire l’ufficio di motorizzazione di una specifica città, si definisca la classe Motorizzazione che : ▫ presenti dei campi interni per memorizzare la città cui quella motorizzazione appartiene ed un insieme ordinato di automobili (utilizzare la classe Automobile creata nell'esercitazione precedente) ▫ definisca un costruttore che prenda in ingresso una Stringa rappresentante la città e che azzeri la lista delle automobili di quella motorizzazione ▫ definisca i metodi per accedere ai campi interni ▫ definisca il metodo “aggiungi” che permette di registrare una nuova automobile (nel caso la targa sia già presente in registro, il metodo restituisce “false”). ▫ definisca il metodo “equals” per stabilire l’uguaglianza con un’altra “Motorizzazione” (l’uguaglianza va verificata solo sulla citta di ubicazione) ▫ definisca il metodo “toString” ▫ definisca il metodo “quante”, che restituisce il numero di auto registrate Una applicazione di test (Esercitazione73.java) che : ▫ crei una motorizzazione, aggiunga automobili (utilizzare quelle dell'esercizio precedente). ▫ Provi ad aggiungere un'automobile con la stessa targa di un'altra già presente (insieme di elementi distinti!) in quella motorizzazione e stampi a video un messaggio di errore. ▫ Stampi tutte le automobili presenti in quella motorizzazione Fondamenti di informatica A-K - Domenico Di Carlo