Primitive Collections Versions Save

A Primitive Collection library that reduces memory usage and improves performance

0.9.0

10 months ago

Changelog

  • 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!

0.8.0

1 year ago

0.8.0 Release

  • Added: ISizeProvider interface (Optimization Helper)
  • 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)