Collections
v0.6.0
A pack of collections (group) implementations meant to make working with dynamically-created collections of structs less of a hassle.
Also includes several map implementations for your associative array needs.
The demo map contains prewritten "unit" tests for some of the implementations as well as a Blackjack game written using multiple collection implementations. You can activate the unit tests as well as play Blackjack (with multiple human players) by playing the demo map.
Features
- Provides standard framework from which to implement sets, lists, and maps.
- Comprehensive yet simple API that abstracts away all of the messy code that users shouldn't need to deal with.
- Robust methods of iterating over collections that guarantee deterministic behavior while modifying collections during the iteration.
- Maps that provide collections views of themselves.
- Implementations to satisfy multiple niches: ordered/unordered sets and maps, queues, stacks, double-ended queues, arrays, etc.
- Flexibility to create collections of collections, maps of collections, collections of maps, maps of maps, collections of collections of collections, etc.
- Dynamic arrays without the 8190 size limit whose sizes can be specified at run-time.
- Optional modules that provide even greater functionality if you need it, including sorting and binary search.
Included Implementations:
- LinkedHashSet
- TreeSet
- BalancedTreeSet
- ArrayList
- LinkedList
- LinkedHashMap
- TreeMap
- BalancedTreeMap
Included Modules:
- Sort
- StableSort
- Selection
- BinarySearch
Requires
See the demo map for the changelog.
Keywords:
collection, map, dynamic array, associative array, set, list, linked list, array list, hash set, tree set, hash map, tree map