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
|
Apache License
|
||||||
|
|
||||||
Version 2.0, January 2004
|
Version 2.0, January 2021
|
||||||
|
|
||||||
http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION,
|
http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION,
|
||||||
AND DISTRIBUTION
|
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
|
page" as the copyright notice for easier identification within third-party
|
||||||
archives.
|
archives.
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
Copyright 2021 Speiger
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
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)
|
# Primitive-Collections (To be Renamed)
|
||||||
|
|
||||||
This is a Simple Primitive Collections Library i started as a hobby Project.
|
This is a Simple Primitive Collections Library i started as a hobby Project.
|
||||||
It's basis is of FastUtil and Java's Collection Library
|
It is based on Java's Collection Library and FastUtil.
|
||||||
But both lib's have a lot of problems, and in FastUtils case foundation seem changes to be no longer possible.
|
But its focus is a different one.
|
||||||
So this project was started.
|
|
||||||
With a Rule-Sheet, and also hopefully more Test-Coverage.
|
|
||||||
|
|
||||||
Currently Cons against FastUtil (will/might change over time).
|
Main Features:
|
||||||
- No Maps, this is next on the todolist.
|
ArraysList, HashSet/Map (Linked & HashControl), TreeSet/Map (RB & AVL), Priority Queue.
|
||||||
- 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.
|
|
||||||
|
|
||||||
Pros against FastUtil
|
# Guide
|
||||||
- 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)
|
|
||||||
|
|
||||||
This Library also includes my own MergeSort Algorithm that does not need to duplicate the input array.
|
Project is currently not buildable due to certain design flaws that are being redone,
|
||||||
It is a bit slower depending on the size, but is a stable sort that does not require to duplicate an array
|
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