Skip to content

Commons.Collections

yanggujun edited this page Dec 31, 2019 · 4 revisions

Commons.Collections

Commons.Collections provides the extensive collections beyond the ones in System.Collections

Installation

Commons.Collections is delivered as a nuget packge. It is part of "Commons" package. You can get the package from nuget.org

Or you can directly install from nuget console by typing follwing commands:

PM>Install-Package Commons

Supported collections

  • HashedMap, a hash map (dictionary).

  • Customized32HashedMap, a hash map (dictionary) whose hash function can be defined other than using Object.GetHashCode().

  • TreeMap, a sorted map (dictionary). The map is navigable.

  • SkipListMap, a sorted map (dictionary). The map is navigable.

  • LruMap, a hash map (dictionary) implemented with least recently used algorithm. The map size is bounded and the oldest item is eliminated when the map size is full.

  • ReferenceMap, a hash map (dictionary) which calculates the hash value only from its key object reference value.

  • LinkedHashedMap, an ordered map (dictionary) which remembers the adding sequence of the items.

  • HashedBimap, an unsorted bidirectional map. A bidirectional map is a map which can be used to find a value from a key and a key from a value.

  • TreeBimap, a sorted bidirectional map.

  • MultiValueHashedMap, an unsorted map where multiple values are allowed for a given key.

  • MultiValueTreeMap, a sorted version of multi-value map.

  • HashedBag, a bag containing the unsorted items. A bag is a collection that allows duplicate values.

  • TreeBag, a bag containing the sorted items.

  • Deque, a double ended queue.

  • LinkedDeque, a double ended queue with linked list as inside data structure.

  • MaxPriorityQueue, a priority queue where the maximum item is at the top.

  • MinPriorityQueue, a priority queue where the minimum item is at the top.

  • BoundedQueue, a FIFO queue with a maximum size.

  • HashedSet, a set with unsorted items. It's a set strictly follows the definition in maths.

  • TreeSet, a set with sorted items. It's a set strictly follows the definition in maths.

  • SkipListSet, a set with sorted items. It's a set strictly follows the definition in maths.

  • ReferenceSet, a hash set which calculates the hash value only from its object reference value.

  • LinkedSet, an ordered set where the elements are sequenced by the adding order.

  • LruSet, an ordered set where the elements are sequenced by the least recently used algorithm. The set is bounded and the oldest item is eliminated when the size is full.

Clone this wiki locally