CodeGym
AI Academy
Promozione
CodeGym University
Learning
Corsi
Tasks
Surveys & Quizzes
Games
Help
Schedule
Community
Users
Forum
Chat
Articles
Success stories
Activity
Reviews
Subscriptions
Tema chiaro

Lezioni

  • Recensioni
  • Chi siamo
Inizia
Inizia a imparare
Start learning now
  • I miei progressi
  • Corsi
  • Mappa Quest
  • Lezioni
  • I contratti di equals e hashCode

    JAVA 25 SELF
    Livello 29,Lezione 0
    In questa lezione analizzeremo come definire correttamente l’uguaglianza degli oggetti in Java: in cosa differisce il confronto dei riferimenti con l’operatore == rispetto al confronto del contenuto con il metodo equals, perché il contratto equals/ hashCode è cruciale per collezioni come HashSet e HashMap, e come metterlo in relazione con compareTo di Comparable. Esempi passo-passo, best practice e analisi degli errori tipici aiutano a evitare trappole nell’uso di tabelle hash e collezioni ordinabili.
    Disponibile
  • Classe Objects: metodi equals, hashCode, hash

    JAVA 25 SELF
    Livello 29,Lezione 1
    In questa lezione analizziamo il «coltellino svizzero» java.util.Objects: come confrontare in modo sicuro con Objects.equals, calcolare in modo conciso gli hash con Objects.hash, delegare il confronto tramite Objects.compare, garantire valori non- null con Objects.requireNonNull, nonché usare Objects.isNull/ Objects.nonNull negli stream. Mostreremo un'implementazione corretta di equals/ hashCode/ compareTo, analizzeremo casi pratici ed errori tipici quando si lavora con HashMap/ HashSet.
    Disponibile
  • Interfaccia Comparable: implementazione, compareTo

    JAVA 25 SELF
    Livello 29,Lezione 2
    In questa lezione analizziamo l’ordinamento naturale degli oggetti in Java tramite l’interfaccia Comparable e il metodo compareTo: a cosa serve, come implementarlo correttamente, come funziona l’ordinamento delle collezioni ( Collections.sort e List.sort), il confronto su più campi, la gestione dei valori null e la coerenza con equals/ hashCode. Vedremo le best practice, gli errori più comuni ed esempi pratici con la classe Person.
    Disponibile
  • Interfaccia Comparator: creazione, utilizzo

    JAVA 25 SELF
    Livello 29,Lezione 3
    In questa lezione analizziamo quando usare Comparator invece di Comparable, la sintassi e il contratto del metodo compare(T o1, T o2), la pratica dell’ordinamento delle liste tramite Collections.sort e List.sort, la creazione di comparator sia come classi separate sia tramite classi anonime ed espressioni lambda. Considereremo l’ordinamento multilivello, la gestione dei valori null, la ricerca con Collections.binarySearch, l’inversione dell’ordine con reversed(), nonché best practice ed errori tipici (ad esempio, perché è meglio usare Integer.compare e non a - b).
    Disponibile
  • Ricerca e ordinamento di elementi nelle collezioni Java

    JAVA 25 SELF
    Livello 29,Lezione 4
    In questa lezione analizzeremo tecniche pratiche per lavorare con le collezioni: ricerca degli elementi con i metodi contains, indexOf, lastIndexOf, ricerca condizionale tramite un ciclo for e l'istruzione break, individuazione di minimo e massimo con la classe Collections. Faremo pratica nell'ordinare le liste con Collections.sort e List.sort, nell'usare Comparator, nell'ordinare le coppie di Map e anche oggetti in base a un campo. Infine discuteremo gli errori tipici: liste immutabili create con List.of, tentativi di ordinare Set/ Map e comparator errati.
    Disponibile
Learn
  • Registration
  • Java Course
  • Help with Tasks
  • Pricing
  • Java Syntax
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success Stories
  • Activity
  • Affiliate Program
Company
  • About us
  • Contacts
  • Reviews
  • Press Room
  • CodeGym for EDU
  • FAQ
  • Support
CodeGymCodeGym is an online course for learning Java programming from scratch. This course is a perfect way to master Java for beginners. It contains 1200+ tasks with instant verification and an essential scope of Java fundamentals theory. To help you succeed in education, we’ve implemented a set of motivational features: quizzes, coding projects, content about efficient learning, and a Java developer’s career.
Follow us
Lingua dell'interfaccia
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ்
Italiano
Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmers Are Made, Not Born" © 2026 CodeGym
MastercardVisa
"Programmers Are Made, Not Born" © 2026 CodeGym