diff --git a/LICENSE b/LICENSE index 4ed90b95..723bb5e3 100644 --- a/LICENSE +++ b/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"); diff --git a/README.md b/README.md index fba0b38b..8f7a4414 100644 --- a/README.md +++ b/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 \ No newline at end of file +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. \ No newline at end of file