# Ordered Maps

> [HTML Version](orderedmaps.htm)

An ordered map is a type of associative array that maps keys to values, maintaining an order to the keys. The concept is similar to an indexed file with a single variable length key and a single variable length data structure, either a simple string or a multi-member structure. ORDMAPM allows multiple key-value pairs with the same key, while ORDMAP does not. 

**Subtopics**

- [Declaration / Creation](declarationcreationordered.md)

- [Destruction](destruction.md)

- [Special ORDMAP Functions](specialordmapfunctions.md)

- [Element Assignment and Removal](elementassign-ordmap.md)

- [Accessing Elements](accessingelementscoll.md)

- [Element Arithmetic](element-arithmetic.md)

- [Iterators](iterators.md)

- [Ordered Multi-Map ORDMAPM](ordered_multi-map.md)

**See Also**

•	[Copy, Add, Subtract Collections](copyaddsubtractcollections.md)

**History**

2022 May, A-Shell 6.5.1716:  Increase key length from 511 bytes to unlimited.

2016 August, A-Shell 6.3.1520:  Ordered Multi-Map (ORDMAPM) added.

2015 July, A-Shell 6.1.1414, compiler edit 742:  Add ordmap(varstr;varx) and .ISNULL(var)

2013 June, A-Shell 6.1.1354, compiler edit 638:  .[CLEAR](clear_asb.md) function added 

2012 June, A-Shell 6.1.1300:  Ordered maps introduced; (varstr;varstr) only