GS Collections & Java 8: Functional, Fluent, Friendly & Fun
summary
Comparison of Java 8 streams and GS Collections shows concrete tradeoffs: streams are lazy by default and add ~15,000 lines to the JDK, but GS Collections provides both eager and lazy pipelines, covariant return types, multimaps and primitive containers that avoid boxing. Memory numbers claim unified map halves memory versus HashMap, and HashSet uses ~4x memory in common use. GS Collections supplies primitive lists/maps, a select-with-context pattern to avoid allocation, and code-generation for many primitive variants.
AI-written summary · about
chapters (27)
- 0:00Agenda
- 0:45GS Collections
- 1:40Memory Lane
- 2:55Code
- 3:50Lazy Evaluation
- 4:57Collection
- 6:24Java Extremes
- 8:02Covariant Return Types
- 9:19Lines of Code
- 11:57Streaming Data vs Collections
- 13:02Stream immediately terminated with
- 13:53Grouping by
- 17:15Partitioning
- 18:18Stack traces
- 20:20Anagrams
- 21:44Solution
- 22:46JS Collections
- 25:22Lazy Evaluations
- 26:53Memory Efficiency
- 28:05Entries
- 29:38HashSet
- 30:13Memory Waste
- 31:07Primitive Collections
- 31:31Primitive Strings
- 32:44Method References
- 37:39Framework Comparison
- 38:47Wrap Up
related talks
57mStay Ahead with Java’s Latest Features in JDK 23
57mMaximizing the Performance of Java 8 Streams
47mThe Dark Side of Java 8 - Lessons Learned
01h 00mLet’s Get to the Rapids: Java 8 Stream Performance
40mStream Gathers - The biggest change to Java Streams since 10 years
47mWhen Greed Is Good: Understanding Java Stream Performance
48mCollections.compare(JDK, Eclipse, Guava, Apache...);
46mCollections.compare:JDK, Eclipse, Guava, Apache
