StreamEx v0.3.4 Release Notes
-
- 🛠 Fixed:
EntryStream.of(List<T>)
,EntryStream.of(T[])
andStreamEx.runLengths
returned stream ofMap.Entry
objects which violate the documented contract forequals
andhashCode
. - 🛠 Fixed:
pairMap
method for all streams worked incorrectly when previous steps includedparallel().flatMap()
due to JDK bug. New version may also work faster in parallel for certain sources. - 🛠 Fixed:
collapse
-based methods (collapse
,groupRuns
,runLengths
,intervalMap
) worked incorrectly in various cases in parallel mode. New version may also work faster in parallel for certain sources. - Fixed:
minBy*/maxBy*
for primitive streams now return strictly the first matched element (not the arbitrary one). - ⚡️ Optimized:
minBy/maxBy
methods for primitive streams now call keyExtractor function at most once per element - ⚡️ Optimized: many stream creation methods (
zip
for all streams,EntryStream.of(List)
,StreamEx.ofSubLists
, etc.) now use custom spliterator. - ⚡️ Optimized:
IntStreamEx.ofChars
reimplemented for JDK 8 as originalCharSequence.chars
implementation is poor. - ➕ Added construction of all stream types from the
Spliterator
. - 📚 Updated documentation
- 🛠 Fixed: