Klojang Collections
A small collection of classes extending the Java Collections framework.
- TypeMap
— an extension of the Map interface which maps Java types of values. Its
get() and containsKey() methods leverage the structure of the Java type hierarchy
to find a value for the requested key. If the requested key (a Class object) is
not itself present in the map, but one of its supertypes is, then the value
associated with the supertype is returned - or true in the case of containsKey().
The Klojang Collections module provides four implementations, each with different
performance characteristics and key ordering.
- TypeSet
— the Set counterpart to the TypeMap interface. Its contains()
method behaves just like the containsKey() method of TypeMap.
- WiredList
and CrisprList
— doubly-linked lists much like the JDK’s own LinkedList but exclusively
focused on destructive edits like moving around (large) list segments - the one
thing that doubly-linked list can potentially execute much more efficiently
ArrayList.
Getting Started
To use Klojang Collections, add the following dependency to your Maven POM file:
<dependency>
<groupId>org.klojang</groupId>
<artifactId>klojang-collections</artifactId>
<version>1.2.2</version>
</dependency>
or Gradle build script:
implementation group: 'org.klojang', name: 'klojang-collections', version: '1.2.0'
Documentation
The Javadocs for Klojang Check can be
found here.
The latest test coverage report can be
found here.
The latest OWASP vulnerabilities report can be
found here
.