Version 3.0.0
Release notes
This is the first stable version available for production. It is highly recommended to upgrade to this version if you have used a previous version.
Bugs
- Fix unsigned compare bugs.
- Fix
Lookup.ApplyResultSelectorbugs. - Fix
OrderedEnumerableRangeEnumeratornot iterate maxIdx. - Fix
EnumerablePartitionerror assert. - Fix inner enumerator of
CrossJoinIteratorandSelectManyIteratordispose twice. - Fix not check selector param for
sumwith selector. - Fix bug with
select(...).count()on an IPartition. - Fix bug with
skip,takeon an empty IOrderedEnumerable. - Fix
unionandunionBynot close when break iterate.
Features
- Add
zipTuple api. - Add support compatible stream for
IEnumerable. - Add api
toLinkedList,toLinkedMap,toLinkedSet,toCollectionforIEnumerable. - Add api
indexOf,lastIndexOfforIEnumerable. - Add api
findIndex,findLastIndexforIEnumerable. - Add api
format,joiningforIEnumerableto print values. - Add api
ofNullable,chars,words,lines,split,infinite,loop,enumerate,iterateforLinq. - Add
_indexOfand_lastIndexOfmethod forIList. - Add
_findIndex()and_findLastIndex()method forIList. - Add
IArrayListinterface which extendsRandomAccessfor random access list andIListfor other. - Add
IArrayinterface to determineIArrayListcontains an array or not. - Add
CultureInfo.setCurrentto set current locale for string actions in linq. - Add
StringComparerfor string equals, hashCode and compare actions. - Add
ValueTypeas super class for value type. - Add support more type cast to IEnumerable like
IEnumerable,IteratorandEnumeration. - Add
Linq.as()to generateIEnumerablefromObject. - Add debug view support.
- Add primitive functional interface.
- Add covariant & contravariant support.
Optimizations
- Remove override runOnce() for
IList. - Not copy data when cast primitive array to IEnumerable.
- Not create array when cast singleton to IEnumerable.
- Optimize performance of
takeLast. - Optimize
range().select()andrepeat().select(). - Optimize
min,max,minBy,maxByperformance. - Optimize
TakeLastIteratordispose action. - Optimize
toMapandtoSetmethods. - Optimize
indexOfandlastIndexOfin EqualityComparer. - Optimize
skipLastperformance. - Optimize performance by use enumerator instead of iterator.
- Implements
IIListProviderforDistinctByIterator,CrossJoinIterator,UnionByIterator.
Changes
- Translated all LINQ to Objects API of .net core 3.0.
- Use ThrowHelper to throw Exceptions.
- Rename package
bridgetoadapter. - Rename
Linq.asEnumerable()toLinq.of(). - Rename
TupleMoretoTupleN. - Rename
Linq.of(CharSequence)toLinq.chars(CharSequence). - Update junit version to 5.x.
- Update plugin version to latest.
- Change the year of copyright.
Parameters covariant
- IEnumerable (T is covariant)
- IEnumerator (T is covariant)
- IGrouping<TKey, TElement> (TKey and TElement are covariant)
Parameters contravariant
- Comparator (T is contravariant)
- Comparable (T is contravariant)
- IEqualityComparer (T is contravariant)
- IComparison (T is contravariant)
- Action<T1, T2, ... TN> (T1...TN are contravariant)
- Func<T1, T2, ... TResult> (T1...TN are contravariant, TResult is covariant)
- Predicate<T1, T2, ... TN> (T1...TN are contravariant)