Overview
Explore functional data structures in Java through this 48-minute Devoxx conference talk. Dive into the world of persistent data structures, understanding their challenges and performance trade-offs. Learn about amortized performance and how lazy evaluation can enhance efficiency. Examine several purely functional data structures implemented in Java 8, comparing them to built-in JDK alternatives. Gain insights into prepending and appending lists, building queues, constructing maps, and working with trees. Analyze benchmarks and results to better grasp the practical applications of functional data structures. By the end, feel more confident in applying functional programming techniques to data-intensive problems and make informed decisions when choosing between different data structure implementations.
Syllabus
Intro
REVOLUTIONARY DEVELOPER TOOLS
WHAT DOES FUNCTIONAL MEAN?
MUTABLE DATA STRUCTURES
PERSISTENT DATA STRUCTURES
HOW TO PREPEND A LIST
HOW TO APPEND TO A LIST
ALGORITHMIC COMPLEXITY
AMORTIZED COMPLEXITY
BANKER'S METHOD
HOW TO BUILD A QUEUE
HOW TO TAIL A QUEUE
HOW TO PEEK
HOW TO DEQUEUE
ISN'T REVERSE EXPENSIVE?
HOW TO BUILD A MAP
UPDATING THE MAP
NORMAL TREES
BENCHMARKS
RESULTS (SAFE HARBOR)
Purely functional Data Structures
Taught by
Devoxx