Skip to content

Releases: Traroth/odd-collections

odd-collections 1.0 — Unconventional Java data structures

07 Apr 12:32

Choose a tag to compare

odd-collections 1.0

Four original data structures that go beyond what the Java standard library offers — each with an unsynchronized and a thread-safe variant.

What's included

  • ChunkyList — an unrolled linked list with pluggable growing/shrinking strategies, native Spliterator, and optimized bulk operations
  • SymmetricMap — a bijective map with O(1) reverse lookup, strict/permissive insertion modes, and inverse map support
  • TreeList — a sorted list with no duplicates, backed by an order-statistic red-black tree (O(log n) for all operations including indexed access), with live subList views
  • MultiMap — a recursive multi-dimensional map with chained reads/writes and getOrCreate for on-the-fly level creation

Highlights

  • Full java.util.List / java.util.Map compliance where applicable
  • Thread-safe variants backed by ReentrantReadWriteLock with snapshot-based iterators
  • All collections are Serializable
  • JML contracts (@invariant, @requires, @ensures) on all classes
  • 693 tests — 0 failures
  • Clean Checkstyle and SpotBugs

Requirements

  • Java 11 or later

License

https://www.gnu.org/licenses/lgpl-3.0.html