Simple library to create primitive collections. Using template files to generate them. Project for self teaching.
Go to file
Speiger e30ca4103f Fixed recent found bugs
-Fixed: addAll with non Specific Collections was crashing lists.
-Fixed/Refactor: Clear and trim implementation was all over the place
-Fixed: Wrappers toString/hashCode/equals function wasn't implemented
-Added: Tests for addAll bug
-Refactor: Did small code style cleanups as I was fixing bugs.
2021-09-13 17:02:24 +02:00
gradle/wrapper Pushing Wrapper 2021-06-22 17:34:53 +02:00
src Fixed recent found bugs 2021-09-13 17:02:24 +02:00
.classpath Map Tests & BugFixes. 2021-04-22 23:02:04 +02:00
.gitattributes Removed the double foldering and started some seriouse work. 2020-11-11 21:33:59 +01:00
.gitignore Pushing Wrapper 2021-06-22 17:34:53 +02:00
.project Map Tests & BugFixes. 2021-04-22 23:02:04 +02:00
Changelog.md Small Fix 2021-09-02 13:40:33 +02:00
LICENSE Updated License & Readme 2021-01-28 21:39:58 +01:00
README.md Added found bugs to the Readme so people can avoid them util a fix 2021-09-13 01:08:11 +02:00
RuleSheet.md New Content patch getting big progress on base and progress on lists. 2020-11-16 02:55:33 +01:00
build.gradle Version Bump 2021-09-02 13:41:47 +02:00
gradlew Removed the double foldering and started some seriouse work. 2020-11-11 21:33:59 +01:00
gradlew.bat Removed the double foldering and started some seriouse work. 2020-11-11 21:33:59 +01:00
settings.gradle Removed the double foldering and started some seriouse work. 2020-11-11 21:33:59 +01:00

README.md

Primitive-Collections

This is a Simple Primitive Collections Library i started as a hobby Project.
It is based on Java's Collection Library and FastUtil.
But its focus is a different one.

Main Features:

  • ArrayLists / LinkedLists
  • HashSet/Map (Linked & HashControl)
  • TreeSet/Map (RB & AVL)
  • EnumMap
  • Immutable Maps/Lists/Sets
  • Priority Queue
  • Streams
  • SplitIterators
  • Iterators

Notes about Versions

Any 0.x.0 version (Minor) can be reason for massive changes including API.
To ensure that problems can be dealt with even if it is breaking the current API.
Any breaking changes will be Documented (once 1.0 is released)

How to install

Using Gradle:

repositories {
    maven {
        url = "https://maven.speiger.com/repository/main"
    }
}
dependencies {
	compile 'de.speiger:Primitive-Collections:0.3.5'
}

Direct:

Version Jar Sources Java Doc
0.3.5 Download Download Download
0.3.4 Download Download Download
0.3.3 Download Download Download

Contributing

If you want to contribute.
This project is created using gradle and java and my Template Library only. Nothing extra.
If you setup gradle the library will be downloaded automatically.

Where is everything stored?

  • Variables and ClassNames are define here
  • Templates are stored here
  • Tests can be found here

Please if you want to contribute follow the Rule-Sheet. It keeps everything in line.

How to Build

The SourceCode can be generated via:
/gradlew.bat generateSource

to build the jar:
/gradlew.bat build
do not combine the commands because they can not be executed at the same time.

Current Down Sides (Random order)

  • Testing for Sub Maps/Sets/Lists are only in a very basic way tested
  • Documentation is only present at the lowest level for most cases and needs a typo fixing.
  • ToString method in Wrapper Classes do not work correctly. (Synchronized/Unmodifiable wrappers)
  • addAll for NonMatching TypeLists (using JavaLists on Primitive CollectionLists as example) crashes right now.
  • clearAndTrim do not work correct right now