All Versions
37
Latest Version
Avg Release Cycle
112 days
Latest Release
-
Changelog History
Page 3
Changelog History
Page 3
-
v0.4.0 Changes
- Introduced the concept of short-circuiting collectors.
StreamEx/EntryStream.collect(Collector)
method works as short-circuit operation if short-circuiting collector is passed.MoreCollectors.first/head
collectors are short-circuiting now.MoreCollectors.groupingByEnum
collector may short-circuit if downstream collector is short-circuiting.MoreCollectors.pairing
collector may short-circuit if both downstream collectors are short-circuiting.- ➕ Added new short-circuiting collectors:
onlyOne
,intersecting
,toEnumSet
,andingInt
,andingLong
. - ➕ Added new collectors:
filtering
,groupingBy
(with domain specification) which short-circuit when downstream collector is short-circuiting. - ➕ Added collectors
mapping
,collectingAndThen
,partitioningBy
which mimic standard JDK collectors, but short-circuit when downstream collector is short-circuiting. - ➕ Added
indexOf
methods for all stream types. - ➕ Added
StreamEx/EntryStream.foldLeft/foldRight
methods without identity argument. - ➕ Added
StreamEx/EntryStream.scanLeft/scanRight
methods without identity argument. - ➕ Added
StreamEx.cartesianProduct/cartesianPower
methods with reduction operator. - ➕ Added
IntStreamEx/LongStreamEx.range/rangeClosed
methods with additional step parameter. - ➕ Added
IntStreamEx/LongStreamEx/DoubleStreamEx.foldLeft
methods. - 🔀 Methods
StreamEx/EntryStream.toMap/toSortedMap/toCustomMap
without merge function now produce better exception message in the case of duplicate keys. - 🔀 Methods
StreamEx/EntryStream.toMap/toSortedMap/toCustomMap
accepting merge function are not guaranteed to return ConcurrentMap for parallel streams now. They however guarantee now the correct merging order for non-commutative merger functions. - Methods
StreamEx/EntryStream.grouping*
are not guaranteed to return the ConcurrentMap for parallel streams now. They however guarantee now the correct order of downstream collection. - 🚀 Methods
StreamEx.ofEntries
are declared as deprecated and may be removed in future releases! - 🚚 Deprecated methods
EntryStream.mapEntryKeys
/mapEntryValues
are removed! - 📚 Updated documentation
-
v0.3.8 Changes
- ➕ Added
toBooleanArray
collectors (object and primitive). - ➕ Added
MoreCollectors.distinctBy
collector. - ➕ Added
StreamEx/EntryStream.distinct(keyExtractor)
intermediate operation. - ➕ Added
EntryStream.distinctKeys/distinctValues
intermediate operations. - ➕ Added
StreamEx.cartesianPower/cartesianProduct
static methods. - ⚡️ Optimized:
MoreCollectors.least/greatest
collectors are now much faster (up to 10x depending on input). - 📚 Updated documentation
- ➕ Added
-
v0.3.7 Changes
- ➕ Added
MoreCollectors.groupingByEnum
collector. - ➕ Added
IntCollector/LongCollector/DoubleCollector.averaging
primitive collectors. - ➕ Added
IntCollector/LongCollector/DoubleCollector.andThen
default methods to replacecollectingAndThen
. - ➕ Added
StreamEx.toFlatCollection
andStreamEx.toFlatList
terminal operations. - ➕ Added
StreamEx.ofSubLists(list, length, shift)
static method. - 🚀 Methods
IntCollector/LongCollector/DoubleCollector.collectingAndThen
are declared as deprecated and may be removed in future releases! - 📚 Updated documentation
- ➕ Added
-
v0.3.6 Changes
- ➕ Added
StreamEx.collapse(Predicate, Collector)
operation. - ➕ Added
takeWhile
anddropWhile
methods for all stream types. - ➕ Added
StreamEx.ofPairs
andEntryStream.ofPairs
methods. - Optimized:
minBy*/maxBy*
methods for primitive streams now call keyExtractor function at most once per element. - 📚 Updated documentation
- ➕ Added
-
v0.3.5 Changes
- Generic arguments relaxed for
StreamEx
methods:forPairs
,collapse
,groupRuns
,intervalMap
,sortedBy
. - ➕ Added
MoreCollectors.minIndex/maxIndex
collectors.
- Generic arguments relaxed for
-
v0.3.4 Changes
- 🛠 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:
-
v0.3.3 Changes
- ➕ Added
StreamEx.intervalMap
method - ➕ Added
StreamEx.runLengths
method - ➕ Added
StreamEx.ofSubLists
method - ➕ Added
MoreCollectors.countingInt
collector StreamEx/EntryStream.maxBy*/minBy*
methods optimized: now keyExtractor function is called at most once per element- 🐎
StreamEx.groupRuns
method optimized (up to 5x performance boost depending on data) StreamEx.collapse
methods changed: now the elements passed to the predicate are guaranteed to be two adjacent elements from the source stream.- 📚 Updated documentation: now documentation is automatically copied from JDK for the inherited methods.
- ➕ Added
-
v0.3.2 Changes
- ➕ Added
MoreCollectors
class: several useful collectors absent in JDK - ➕ Added
skipOrdered(n)
method to every Stream implementation - 📚 Updated documentation
- ➕ Added
-
v0.3.1 Changes
- ➕ Added
mapToEntry
method for primitive streams - ➕ Added
joining
methods family for primitive streams - ➕ Added
StreamEx.collapse
/groupRuns
methods - ➕ Added
StreamEx.distinct(atLeast)
method - 🚀 Released jar works now as an OSGi bundle
- 📚 Updated documentation
- ➕ Added
-
v0.3.0 Changes
- ➕ Added primitive collectors:
IntCollector
,LongCollector
,DoubleCollector
- ➕ Added
flatMapToInt
/flatMapToLong
/flatMapToDouble
/flatMapToObj
to primitive streams - ➕ Added
EntryStream.flatMapKeyValue
/filterKeyValue
/mapToKey
/mapToValue
methods - ➕ Added
IntStreamEx.toCharArray
/toShortArray
/toByteArray
methods - ➕ Added
DoubleStreamEx.toFloatArray
method - Generic arguments for many methods are relaxed allowing more flexible usage
- 🚀 Methods
EntryStream.mapEntryKeys
/mapEntryValues
are declared as deprecated and may be removed in future releases! - 📚 Updated documentation
- ➕ Added primitive collectors: