mercoledì 6 maggio 2020

Lezione del 29/04/2020 (Google meet, 1.5 ore): esercizi sulla ricorsione

Esercizi sulla ricorsione: generazione di stringhe binarie di lunghezza k; generazione di permutazioni di caratteri.

Lezione del 27/04/2020 (Google meet, 2 ore): ricorsione

La ricorsione. Pensare ricorsivamente. Esempio: il fattoriale. Funzionamento della ricorsione: record di attivazione e stack. Non prevedere un caso base: la ricorsione infinita. Esempi: riconoscimento di una stringa palindroma. Ricerca binaria ricorsiva. Utilizzo di metodi di comodo mediante l'overloading. Utilizzo di metodi di comodo mediante l'overloading. Strutture dati ricorsive.

giovedì 23 aprile 2020

Lezione del 24/04/2020 (Google meet, 3 ore): riferimenti a metodi; ordinamento; metodi di Comparator; interfacce funzionali; 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.

lunedì 20 aprile 2020

Lezione del 20/04/2020 (Google meet, 2 ore): mappe, ordinamento con comparabilità interna ed esterna, riferimenti a metodi

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.

venerdì 17 aprile 2020

Lezione del 17/04/2020 (Google meet, 3 ore e mezzo): classi annidate e interne, interfacce funzionali, espressioni lambda, collections


Classi annidate e interne. Operatore this nelle classi interne. 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


mercoledì 8 aprile 2020

lunedì 6 aprile 2020

Lezione del 06/04/2020 (Google meet, 2 ore): interfacce notevoli (Comparable, Comparator, Cloneable, Serializable); ordinamento tramite confronto interno (Comparable) ed esterno (Comparator)

Ereditarietà multipla. Il problema del diamante. Interfacce notevoli (Comparable, Comparator, Cloneable, Serializable); ordinamento tramite confronto interno (Comparable) ed esterno (Comparator). List.of. Liste immutabili vs. liste mutabili.


venerdì 3 aprile 2020

Lezione del 03/04/2020 (Google meet, 3 ore): interfacce, iterabilità standard e intro alle classi interne

Le interfacce in Java: metodi pubblici, metodi di default, statici e privati nelle interfacce. Iterabilità mediante le interfacce Iterable e Iterator. Esercizi: le successioni. Rendere iterabile un array di interi. Classi anonime e classi interne.