- 1. Introduction
- 2. Arithmetic and testing
- 3. Lists, maps, and existing classes
- 4. Object-oriented and Procedural programming
- 5. Method dispatch
- 6. A class design process
- 7. Interfaces
- 7.1. Interfaces, part 2
- 7.2. Interfaces, part 3
- 8. Abstract classes
- 9. Inheritance and equality
- 10. hashCode
- 11. Comparables and Comparators
- 11.1. Comparables
- 11.2. Comparators
- 12. Lambdas and functional interfaces
- 13. Streams
- Contributors