• Beta b9d49aea65

    Speiger released this 2021-04-27 17:40:38 +02:00 | 311 commits to master since this release

    Initial Beta Release.
    The Initial Release is almost feature complete only a couple minor things are missing.
    (A bit more Java-Doc, LinkedEnumMaps, and a Typo Hunt)

    On top of that the beta release is a bit untested. All Basic functionality works but specific test-cases are missing.


    • Type Specific Iterators, ArrayLists, Sets, Queues, Dequeues (from byte to object)
    • Map Types: HashMap, LinkedHashMap, (Linked)CustomHashMap for hashcontrol, TreeMaps (RB/AVL), EnumMaps, ArrayMaps
      -Set Types: HashSet, LinkedHashSet, (Linked)CustomHashSet for hashcontrol, TreeSets (RB/AVL), ArraySet
      -Queue Types: FIFOArrayDequeue, ArrayQueue, HeapQueue.
    • Not a Single Package for everything. Everything is sorted to where it should belong.
    • Standardizing features like: addTo, moveToFirst, elements, trim, toArray where they should belong
    • Serialization friendly: special functions for custom serialization libraries are present to make it easier. It's not perfect but usable.
    • NavigableSet are fully implemented and do not get outperformed by java NavigableSets.
    • Stream Support, TypeSpecific Splititerators
    • A lot of sorting Algorithms

    Stuff not Present:

    • BigArrayList/BigArrays. Might come later or not at all.
    • Reference Collections. Will not come because "Weak Reference" in general is a bad idea for performance.
    • Indirect Collections/Sorters: Not implemented yet because use-cases are kinda missing for it.
    • Java Serialization: Not implemented, is planned, but in the mean time there is at least ways to serialize everything.
    • IO Stuff: Nothing present due to Existing serialization libraries being better at it.

    This library is ment to be a competition to FastUtil, since its implementation outside of HashMap/Set,ArrayList is basically not usable in a lot of cases. A lot of Classes are called similar but use a different package.
    Most things could be converted by re-importing paths.

    A lot of methods are override-able that are not override-able in fastutil even so they should.

    TL:DR its my approach of how fastutil should look like.
    Sadly no maven support yet.