Simple library to create primitive collections. Using template files to generate them. Project for self teaching.
Go to file
Speiger c1862e6b05 Fixed a Few bugs with wrappers.
-Fixed: Maps.EmptyMap getOrDefault wasn't returning the default value.
-Fixed: Maps.UnmodifiableMap wasn't respecting the change of the DefaultReturnValue. (it has its own version of it so it doesn't break the rule of it, it wasn't returning the expected value.
-Added: A bunch of Methods for Unmodifiable/Empty maps that should fail right out but would still make it past a certain point. (Compute/Merge/Supply/etc)
2022-06-03 14:38:56 +02:00
.github/workflows Script Cleanup, Changelog Update and Version Bump. 2022-05-28 23:34:37 +02:00
gradle/wrapper Moving to a more up to date system. 2022-04-07 16:00:58 +02:00
src Fixed a Few bugs with wrappers. 2022-06-03 14:38:56 +02:00
.classpath Changes. 2021-09-28 04:43:04 +02:00
.gitattributes Removed the double foldering and started some seriouse work. 2020-11-11 21:33:59 +01:00
.gitignore Moving Credentials Away from this file because now i need it 2021-12-27 19:59:19 +01:00
.project Map Tests & BugFixes. 2021-04-22 23:02:04 +02:00
Changelog.md Script Cleanup, Changelog Update and Version Bump. 2022-05-28 23:34:37 +02:00
LICENSE Update LICENSE 2021-12-19 21:19:28 +01:00
README.md Script Cleanup, Changelog Update and Version Bump. 2022-05-28 23:34:37 +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 Small fixes 2022-06-02 14:59:39 +02:00
features.md New Stuff 2022-04-21 17:25:23 +02:00
gradle.properties Added gradle now uses the java version it runs on. 2022-04-07 20:26:53 +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
jitpack.yml Updated yml Scripts 2022-04-28 19:09:42 +02:00
settings.gradle Removed the double foldering and started some seriouse work. 2020-11-11 21:33:59 +01:00

README.md

build Latest Release License GitHub commit activity

Primitive-Collections

This is a Simple Primitive Collections Library aimed to outperform Java's Collection Library and FastUtil.
Both in Performance and Quality of Life Features.

Benchmarks

Benchmarks can be found here: [Charts], [Tables]

Special Features

Here you find a set of features added to Primitive Collections.
These are designed to improve performance or to provide Quality of Life.

Main Features:

  • ArrayLists / LinkedLists / CopyOnWriteLists
  • HashSets/Maps (Linked & HashControl)
  • TreeSets/Maps (RB & AVL)
  • EnumMaps
  • Immutable Maps/Lists/Sets
  • ConcurrentHashMaps
  • Priority Queues
  • Streams & Functional Queries
  • Split/Iterators
  • Pairs
  • Unary/Functions
  • Suppliers
  • Bi/Consumers
  • AsyncBuilders

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.

How to install

Using Jitpack Gradle

repositories {
    maven {
        url = "https://jitpack.io"
    }
}
dependencies {
	implementation 'com.github.Speiger:Primitive-Collections:0.6.2'
}

Using Custom Gradle:

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

Version Jar Sources Java Doc
0.6.2 Download Download Download
0.6.1 Download Download Download
0.6.0 Download Download Download
0.5.3 Download Download Download
0.5.2 Download Download Download
0.5.1 Download Download Download
0.5.0 Download Download Download
0.4.5 Download Download Download
0.4.4 Download Download Download
0.4.3 Download Download Download
0.4.2 Download Download Download
0.4.1 Download Download Download
0.4.0 Download Download Download
0.3.6 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 generate SourceCode and build the jar:
/gradlew.bat build