martedì 30 aprile 2019

Lezione del 30/04/2019: Comparator, interfacce funzionali standard, pila e coda, alberi, grafi. Introduzione ai generici.

Espressioni lambda per specificare il Comparator. Riferimenti a metodi: statici, d'istanza con riferimento, d'istanza con classe. Ordinamento di una collection in Java 8 vs. Java 7. Metodi di default e statici dell'interfaccia Comparator. Interfacce funzionali standard: Predicate, Function, Supplier, Consumer. Pila e coda in Java. Introduzione ai tipi generici. Generici e collezioni: interfacce generiche prototipiche.

venerdì 26 aprile 2019

Lezione del 26/04/2019: Set, Map, Comparator e riferimenti a metodi

Esempi di uso di HashSet e TreeSet. Funzionamento di un HashSet: il metodo hashCode. HashMap e TreeMap: l'interfaccia Map. L'interfaccia Comparable. Ordinamento con l'interfaccia Comparator. Insiemi e mappe con elementi (o chiavi) senza ordinamento, con ordinamento naturale e con ordinamento di inserimento. I metodi keySet, values e entrySet di Map. Espressioni lambda per specificare il Comparator. Espressioni lambda per specificare il Comparator. Riferimenti a metodi: statici, d'istanza con riferimento, d'istanza con classe.



mercoledì 17 aprile 2019

martedì 16 aprile 2019

Lezione del 16/04/2019: interfacce, classi annidate e interne, interfacce funzionali, espressioni lambda, collections (1/2)

Intefacce funzionali. Espressioni lambda. Le Collection. Gerarchia delle interfacce di tipo Collection: Iterable, Collection, List, Set, SortedSet, Queue. Tre modi per iterare su una collezione. L'interfaccia Iterator. Collezioni fondamentali: ArrayList, LinkedList, HashSet, TreeSet, HashMap, LinkedHashMap, TreeMap. Metodi di ogni collezione. ListIterator e il metodo listIterator.

Esonero dell'8/4/2019

Ci siamo messi alla prova!!!


venerdì 5 aprile 2019

Lezione del 05/04/2019: interfacce, metodi di default, statici e privati nelle interfacce, iterabilità, esercizi

Le interfacce in Java: metodi pubblici, metodi di default, statici e privati nelle interfacce. Iterabilità mediante le interfacce Iterable e Iterator. Esercizi: DistributoreAutomatico, EssereVivente. SequenzaAritmetica e SequenzaAritmeticaConPasso iterabili. Rendere iterabile un array di stringhe.


Lab del 03/04/2019: esercizi su ereditarietà e polimorfismo

Esercizi: ContoBancario, espressioni matematiche. Rendere iterabile una lista di interi mediante Iterable/Iterator.


martedì 2 aprile 2019

Lezione doppia del 02/04/2019: polimorfismo, classe Object e liste

Polimorfismo: definizione, esempi e casistiche. Esempi: la classe Impiegato, ImpiegatoStipendiato e ImpiegatoACottimo. La parola chiave super per accedere a metodi e campi della superclasse. L'operatore instanceof. Downcasting e upcasting: differenze ed effetti sull'interfaccia pubblica. La classe universale Object e i suoi metodi principali: clone, equals, getClass, hashCode, toString. Sovrascrivere i metodi toString, equals e clone. Metodi e classi final. Interfacce in Java: dichiarazione, implementazione. Introduzione alle liste; metodi di ArrayList. Introduzione alle interfacce.