Speiger
e7da7acc08
-Fixed: AbstractCollection.retainAll didn't push removed values through the consumer. -Fixed: AbstractCollection.toArray wouldn't reset the last entry if the input array was larger then the elements in the collection. -Fixed: SubList didn't check for ranges properly or didn't use parent list to validate changes. -Fixed: ArrayList.addElements didn't check input array fully and used the wrong variable to move the elements around. -Fixed: LinkedList.addElements(EmptyInput) would crash. -Fixed: LinkedList.swapRemove didn't account for if the removed element was the prelast one. -Fixed: LinkedList.removeElements would break the implementation if the list was almost empty and the middle element was removed. -Fixed: LinkedHashSet.addAndMoveToFirst wouldn't move elements to the first place. |
||
---|---|---|
.github/workflows | ||
gradle/wrapper | ||
src | ||
.classpath | ||
.gitattributes | ||
.gitignore | ||
.project | ||
Changelog.md | ||
LICENSE | ||
README.md | ||
RuleSheet.md | ||
build.gradle | ||
features.md | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
jitpack.yml | ||
settings.gradle |
README.md
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.1'
}
Using Custom Gradle:
repositories {
maven {
url = "https://maven.speiger.com/repository/main"
}
}
dependencies {
implementation 'de.speiger:Primitive-Collections:0.6.1'
}
Direct:
Version | Jar | Sources | Java Doc |
---|---|---|---|
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?
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