Added: getFirst/getLast/removeFirst/removeLast to List.class.
Added: Dedicated Set toArray implementations.
Added: ToArray/pushTop functions to Stack.class.
Added: ComputeNonDefault functions which will contain the current behavior of the Compute function, while the Compute will be changed to be more java compliant!
Added: List.reversed, which returns a SubList that has all elements in reversed order and also inserts reversed.
Added: Iterators.infinite as an option that will create a Infinite Iterator based on the inputed one.
Added: List.indexedIterator which allows you to create a iterator with a customized iteration indecies. Useful if you want to transform lists output.
Added: PriorityQueue.contains is now a function
Added: Iterators/Async Builders now support MapToPrimitiveType function on the object variant. So more processing can be done. (Will be expanded upon later versions)
Fixed: SetValue wasn't working on forEach implementations.
Fixed: Compute functions now perform with primitives more java compliant. Meaning that getDefaultReturnValue function no longer is seen as null.
Fixed: Supplier was using the wrong dataType in their function name.
Updated: SimpleCodeGenerator 1.3.0 is now being used which allows for iterative code support.
Breaking Changes
Map.compute/IfAbsent/Present and Map.supplyIfAbsent if the value is a primitive it will no longer accept the defaultReturnValue() as "null" if that functionality is desired then use: computeNonDefault which contains the functionality!
Added: ISizeProvider into most Iterable implementations (Distinct/Filter/FlatMap/ArrayFlatMap don't support it, for obvious reasons)
Added: ToArray function into Iterable which uses ISizeProvider to reduce overhead of duplicating arrays.
Added: Functions that have the same type, Int2IntFunction as example, have now a identity function.
Added: Functions of a BooleanValue have now alwaysTrue/False function.
Added: ForEachIndexed for all Iterable implementations
Added: RandomGenerator support (Java17), though requires self compilation
Added: Optimizations for HashUtils next power of function.
Added: toArray() now returns a cached empty array if the collection is empty.
Added: toArray function for AsyncBuilder
Added: Modularization to the library where feature can be disabled as needed. (Requires Self-Compilation)
Fixed: putIfAbsent now replaces defaultValues
Fixed: OpenHashSet/Map and their Custom Variants no longer rely on List implementations.
Fixed: ObjectCopyOnWriteList.of did create a ObjectArrayList instead of the CopyOnWrite variant.
Removed: BooleanSet and Maps that start with a Boolean classes since they can not be used anyways.
Breaking Change: Function classes now use the "apply/applyAs/test" format from Java itself, instead of the "get" format. This cleans up a lot of things. But will break existing function class implementations
Breaking Change: Classes that used PrimitiveCollection functions now default to java functions where applicable, this is to increase compat.
Breaking Change: Some function classes now get closer to javas terms. (Predicate/UnaryOperator etc)