![]() ![]() |
|
Esempi: Insiemi, multi-insiemi, sequenze, liste, tabelle, ... Esempi in Java: Array, istanze di Vector (ne vedremo molti altri....) In Java le collezioni sono istanze di opportune classi, che definiscono metodi per accedere e manipolare i dati in esse contenuti. Ad esempio, un Vector contiene una sequenza di dati (istanze di Object, quindi generici oggetti Java), e fornisce metodi per inserire, eliminare, cercare dati ed altro [locale, Medialab, Sun]. |
![]() ![]() |
|
Le collezioni sono utili anche in piccoli programmi,
indispensabili in grandi applicazioni.
Per non costringere il programmatore a riinventarsi programmi per la definizione e gestione di collezioni, sono stati sviluppari diversi Collections Frameworks cioè architetture (software) unificate per rappresentare e manipolare collezioni. Un Collection Framework tipicamente contiene:
|
![]() ![]() |
|
Vantaggi tipici delle librerie standard:
|
![]() ![]() |
|
E' formato da numerose interfacce e classi
appartenenti al package java.util [locale,
Medialab,
Sun].
Per un tutorial, si veda [locale,
Medialab,
Sun]
JFC: Core collection interfaces
|
![]() ![]() |
|
Il Java Collections Framework fornisce interfacce e implementazioni per tutte le collezioni che ci interessano, ma è abbastanza complesso, non molto adatto per scopi didattici. Quindi: Useremo classi e interfacce scritte appositamente per il corso, raccolte nel package lab2. Il package lab2 ha struttura simile al Java Collection Framework, ma molto semplificata, e in alcuni punti incompatibile. La conoscenza del package lab2 consentirà di utilizzare senza difficoltà il più ricco JFC.
|
![]() ![]() |
|
Per utilizzare il package nei propri programmi
è indispensabile:
import lab2.Exceptions.*; Se desiderate istallare anche i sorgenti,
|
![]() ![]() |
|
Tutti i file del package lab2 iniziano con la
riga
package lab2;che dichiara la loro appartenenza al package. Se spostate uno di questi files (sia .java che .class) fuori dalla directory lab2, si potrebbero verificare errori difficilmente individuabili.
La documentazione HTML delle classi ed interfacce del package lab2 si trova qui. Come abbiamo generato questa documentazione? |
![]() ![]() |
|
![]() ![]() |
Documentazione del codice:
Esempio: eseguiamolo su alcuni files Java, e analizziamo
ciò che produce...
Per ottenere una documentazione più ricca, si possono commentare i programmi in modo che javadoc possa estrarre informazioni utili dai commenti. Possiamo vedere lo stile di questi commenti confrontando il sorgente della classe TreeSet con la sua documentazione. Manuale online di javadoc: http://java.sun.com/j2se/javadoc/writingdoccomments/
|