Java Collections.

Slides:



Advertisements
Presentazioni simili
1 La Standard Template Library vettori, liste, mappe, …. find, replace, reverse, sort, …. puntatori intelligenti La libreria standard STL e una libreria.
Advertisements

3/12/2004Laboratorio di Programmazione - Luca Tesei1 Sequenze di lunghezza variabile ArrayList Operazioni Ricerche.
Iterazione Capitolo 17 febbraio 2004 Iterazione.
Differenze nei vari linguaggi di Elisa Trifirò e Barbara Tacchino
1 Astrazioni sui dati : Specifica ed Implementazione di Tipi di Dato Astratti in Java.
Liste di Interi Esercitazione. Liste Concatenate Tipo di dato utile per memorizzare sequenze di elementi di dimensioni variabile Definizione tipicamente.
MultiSet, Liste Ordinate
Le gerarchie di tipi.
LIP: 19 Aprile Contenuto Soluzione Compitino Tipo di dato MultiSet, estensione con sottoclasse.
1 Le gerarchie di tipi: implementazioni multiple e principio di sostituzione.
PolyFun. Dare implementazione,funzione di astrazione, invarianti della rappresentazione. Provare che i metodi apply e bind preservano gli invarianti.
1 Astrazioni sui dati : Ragionare sui Tipi di Dato Astratti.
Liste Ordinate 3 Maggio Ultima Lezione Abbiamo visto i tipi di dato astratti IntList e StringList Realizzano liste di interi e di stringhe Realizzati.
LIP: 1 Marzo 2005 Classe Object e Vettori. Partiamo da Lesercizio dellultima esercitazione realizzato tramite array Vedremo come si puo fare in modo piu.
Lez. 121 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Progettazione.
Esercizi su alberi binari
Tail recursion: esempio
Astrazioni sul controllo Iteratori. 2 Nuove iterazioni Definendo un nuovo tipo come collezione di oggetti (p. es., set) si vorrebbe disporre anche di.
Specifiche senza JML: uso delle asserzioni. 2 Asserzioni in Java Dal jdk 1.4 (da Febbraio 2002) cè meccanismo per gestire asserzioni Asserzione: espressione.
CORSO DI PROGRAMMAZIONE II
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.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
1 Le gerarchie di tipi. 2 Supertipi e sottotipi 4 un supertipo –class –interface 4 può avere più sottotipi –un sottotipo extends il supertipo ( class.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
1 Astrazioni sui dati : Ragionare sui Tipi di Dato Astratti dispense prof. G. Levi.
Grafi Rappresentazione mediante liste di adiacenza:
Tail recursion: esempio
© M. Badella, G. Malnati, L. Tessitore Programmazione ad Oggetti A.A Collezioni di dati in Java.
Collection & Generics in Java
Nota (rif. alla lezione precedente): Vector vs ArrayList Le classi generiche Vector e ArrayList sono sostanzialmente equivalenti, ma: I metodi.
Università degli Studi dell’Aquila
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 5 Le strutture informative Corso di Informatica 2 a.a. 2003/04 Lezione 5.
Corso JAVA Lezione n° 10 Istituto Statale di Istruzione Superiore “F. Enriques”
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
1 Astrazione sul controllo: gli iteratori. 2 Perché vogliamo iterarare “in modo astratto” 4 problema: iterare su tipi di dato arbitrari  esempio: procedura.
Liste di Interi Esercitazione. IntList Lista di interi Problema tipico: memorizzare una sequenza di valori [6,0,9,3….9] Vediamo un tipo di dato utile.
Liste Concatenate 11 Aprile E’ una delle strutture dati fondamentali in tutti i linguaggi di programmazione di alto livello Una Lista Concatenata.
Liste di Interi Esercitazione. IntList Lista di interi Una lista è una disposizione ordinata di elementi ( non in modo crescente-descrescente, ma per.
1 Gerarchie e polimorfismo: liste. 2 Generalizzare le liste di interi  List 4 lista di oggetti –non modificabile 4 vorremo poi definire un sottotipo.
Esercitazione Object, Vettori, Liste. Ereditarieta’ Abbiamo visto come tramite l’ereditarieta’ e’ possibile estendere classi esistenti -arricchendo lo.
1 Astrazione sul controllo: gli iteratori. 2 Gli iteratori 4 perché vogliamo iterarare “in modo astratto” 4 iteratori e generatori in Java –specifica.
1 Astrazioni sui dati : Ragionare sui Tipi di Dato Astratti.
Ese 3 (del 3 Aprile 2003). Testo Progettare la specifica e l’implementazione del tipo di dato astratto modificabile Stack, supponendo che gli elementi.
1 Astrazione sul controllo: gli iteratori. 2 Perché vogliamo iterarare “in modo astratto” 4 problema: iterare su tipi di dato arbitrari  esempio: procedura.
Ese 3 (del 3 Aprile 2003). Testo Progettare la specifica e l’implementazione del tipo di dato astratto modificabile Stack, supponendo che gli elementi.
LIP: 22 Marzo 2005 Eccezioni. Eccezioni-Richiami Come si definiscono eccezioni Come si lanciano Come si gestiscono (gestione esplicita o di default)
LIP: 2 Maggio 2008 Classi Astratte. Cos’e’ una Classe Astratta una classe astratta e’ un particolare tipo di classe permette di fornire una implementazione.
1 Astrazione sul controllo: gli iteratori. 2 Perché vogliamo iterare “in modo astratto” 4 problema: iterare su tipi di dato arbitrari  esempio: procedura.
Esercitazione. Problema Vogliamo definire in modo gerachico un tipo di dato che definisce Tabelle multi-dimensionali con un numero di righe variabili.
1 Astrazioni sui dati : Specifica ed Implementazione di Tipi di Dato Astratti in Java.
LIP: 11 Maggio 2007 Classi Astratte. Cos’e’ una Classe Astratta una classe astratta e’ un particolare tipo di classe permette di fornire una implementazione.
Esercitazione 14 Marzo Esercizio dell’altra volta Definire un tipo di dato Abbonato i cui oggetti descrivono le informazioni relative ad un abbonato.
Liste Concatenate 28 Marzo Avviso Martedi’ 4 Aprile: Verifica di LIP Per iscriversi (obbligatorio) inviare un e- mail entro venerdi’ 31 Marzo a.
Esercizi iteratori. Matrice import java.util.Iterator; public class MatrixIterator implements Iterator { private Matrix matrix; private int currentRow.
Esercitazione sull’ ordinamento 20 maggio 2003
1 Un esempio con iteratore: le liste ordinate di interi.
LIP: 15 Marzo 2005 Vettori di interi. Esercizio proposto Definire una classe VectorInt i cui oggetti sono vettori omogenei di interi ordinati in modo.
Corso di Algoritmi e Strutture Dati con Laboratorio Java Collections Framework (I parte)
Corso di Algoritmi e Strutture Dati con Laboratorio Tipi di dato pila e coda.
6/11/01Ordinamento 1 Un esempio di algoritmi: ordinamento.
Corso di Algoritmi e Strutture Dati con Laboratorio Java Collections Framework (II parte)
Collezioni in Java. Collection Framework JFC Java Collection Framework (JCF) fornisce il supporto a qualunque tipo di struttura dati, nel quadro di un'architettura.
Input in Java. Uso Scanner Un oggetto per la lettura dalla tastiera Piuttosto, per rappresentare la tastiera del nostro calcolatore useremo un oggetto.
Collection & Generics in Java
Transcript della presentazione:

Java Collections

Argomenti

Obiettivi

Collezionare Oggetti Problema: Soluzione 1 Soluzione 2 raggruppare un insieme di oggetti insieme e accedere ad essi secondo regole particolari Problema: Soluzione 1 Soluzione 2 Realizzare una propria classe che, utilizzando internamente gli array, fornisce i metodi di accesso opportuni Utilizzare classi già pronte fornite da Java, scegliendo quella più opportuna ai propri bisogni Java fornisce un insieme molto ampio di classi (concrete) in grado di collezionare oggetti (JCF) Java Collections Framework

Collections Gruppo di Oggetti chiamati ELEMENTI COLLECTION MAP LIST Coppie chiave-valore LIST SET Elementi sono ordinati Non ci sono elementi duplicati SORTEDSET ordinati IMPLEMENTAZIONI LIST LinkedList ArrayList SET TreeSet TreeMap MAP HashSet HashMap

Tipi di oggetti contenuti nelle collezioni Tutti gli oggetti in java estendono da Object Quindi un qualunque oggetto java può essere aggiunto in una collezione Le collection di java gestiscono elementi di tipo Object Gli oggetti vengono ritornati come Object e non del loro tipo specifico Per ottenere il tipo originario è necessario il cast esplicito ArrayList a=new ArrayList(); a.add(new Integer(10));//aggiungo un intero Object elem=a.get(0); //oggetto di tipo Object Integer i=(Integer) a.get(0);

ArrayList Metodi più importanti Consentono di rappresentare sequenze di oggetti di lunghezza variabile Vettore Non usiamo Vector perché più lento Vs Array Metodi più importanti boolean add(Object e) Appends the specified element to the end of this list. void add(int index, Object element) Inserts the specified element at the specified position in this list. Object get(int index) Returns the element at the specified position in this list. Object set(int index, Object element) Replaces the element at the specified position in this list with the specified element. int size() Returns the number of elements in this list.

int somma(ArrayList a) Esercizio Scrivere un metodo java int somma(ArrayList a) che somma gli elementi del vettore di interi. 5 3 4 8 2 Suggerimenti: utilizzare i metodi get per ottenere gli elementi del vettore e size per conoscere il numero di elementi totali. Usando il cast si possono ottenere gli oggetti del tipo opportuno Il metodo intValue() della classe Integer permette di ricavare il tipo int

Disponibile in tutte classi che estendono da Collection Iteratore Modo “universale” per scorrere collezioni di elementi, indipendentemente dalla particolare disposizione degli elementi Disponibile in tutte classi che estendono da Collection Metodi più importanti: boolean hasNext() Returns true if the iteration has more elements. Object next() Returns the next element in the iteration. void remove() Removes from the underlying collection the last element returned by the iterator (optional operation).

int somma(ArrayList a) Esercizio Scrivere un metodo java int somma(ArrayList a) che somma gli elementi del vettore di interi utilizzando l’iteratore 5 3 4 8 2 Suggerimenti: ricavare l’iteratore dall’ArrayList e scorrere l’iteratore mediante un while; per la condizione utilizzare il metodo hasNext() dell’iteratore, next() per avere l’elemento corrente