forked from Speiger/Primitive-Collections
Updated License & Readme
This commit is contained in:
parent
f60a287868
commit
2804aafd22
4
LICENSE
4
LICENSE
|
@ -1,6 +1,6 @@
|
|||
Apache License
|
||||
|
||||
Version 2.0, January 2004
|
||||
Version 2.0, January 2021
|
||||
|
||||
http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION,
|
||||
AND DISTRIBUTION
|
||||
|
@ -187,7 +187,7 @@ a file or class name and description of purpose be included on the same "printed
|
|||
page" as the copyright notice for easier identification within third-party
|
||||
archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
Copyright 2021 Speiger
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
||||
|
|
42
README.md
42
README.md
|
@ -1,32 +1,22 @@
|
|||
# Primitive-Collections (To be Renamed)
|
||||
|
||||
This is a Simple Primitive Collections Library i started as a hobby Project.
|
||||
It's basis is of FastUtil and Java's Collection Library
|
||||
But both lib's have a lot of problems, and in FastUtils case foundation seem changes to be no longer possible.
|
||||
So this project was started.
|
||||
With a Rule-Sheet, and also hopefully more Test-Coverage.
|
||||
It is based on Java's Collection Library and FastUtil.
|
||||
But its focus is a different one.
|
||||
|
||||
Currently Cons against FastUtil (will/might change over time).
|
||||
- No Maps, this is next on the todolist.
|
||||
- No Singletons,
|
||||
- No BigLists/Sets/Maps
|
||||
- No Custom Spliterator support.
|
||||
- No Reference Collections.
|
||||
- Some implementations are slower due to not including all Micro-optimizations (this might not change)
|
||||
- Not as Specific Case Testing compared to FastUtil
|
||||
- No Java Serialization implemented
|
||||
- Code Generator is right now not finalized and no automatic setup exists as of this moment.
|
||||
Main Features:
|
||||
ArraysList, HashSet/Map (Linked & HashControl), TreeSet/Map (RB & AVL), Priority Queue.
|
||||
|
||||
Pros against FastUtil
|
||||
- A Cleaner implementation of Collections that do exists: NavigableSet (Exists), PriorityQueues are Save-able outside of java Serialization and a lot of others.
|
||||
- More Consistency with features, not leaving a lot of holes in implementations. (Anything outside of HashMaps/Lists have massive holes)
|
||||
- Abstract Tests to allow more coverage on tests and allow quicker implementation on tests on new Implementations.
|
||||
- A lot better packaging where each types have their own packages to also make it easier to use the library. (lists/sets/collections/queues/utils)
|
||||
- Due to package name choice: This Library imports do not overshadow java imports. (Anything after s is overshadowed)
|
||||
- No Linux Environment necessary to generate the sourcecode if you want to work on it. All done with Java and or Gradle.
|
||||
- A lot of extra functions that become useful in some cases, like: ITrimmable, IArray, extractElements(from, to), moveToFirst/Last, PriorityQueue iterator. Better Synchronization wrappers that expose useful interfaces.
|
||||
- More Control how internals work thanks to SanityChecks
|
||||
- Support to some extend of a Java Specific Feature: Non-TypeSepcific Collection Non Delete functions. (any method that used Object as Parameter instead of Generic)
|
||||
# Guide
|
||||
|
||||
This Library also includes my own MergeSort Algorithm that does not need to duplicate the input array.
|
||||
It is a bit slower depending on the size, but is a stable sort that does not require to duplicate an array
|
||||
Project is currently not buildable due to certain design flaws that are being redone,
|
||||
but the SourceCode can be already generated via: /gradlew.bat generateSource
|
||||
which will generate all the files and they shouldn't generate any errors.
|
||||
|
||||
Current Problem:
|
||||
EnumMaps use sun.misc package.
|
||||
Some methods are ambiguous and need to be adjusted.
|
||||
Some overhauls or missing implementations have to be added. (A couple passes)
|
||||
But technically Lists/Sets/PriorityQueues are fully usable, Maps are untested and just recently added.
|
||||
|
||||
Documentation & Tests are going to be added very soon.
|
Loading…
Reference in New Issue