n computing, an abstract data type (ADT) is a specification of a set of data and the set of operations that can be performed on the data. Such a data type is abstract in the sense that it is independent of various concrete implementations. The definition can be mathematical, or it can be programmed as an interface. The interface provides a constructor, which returns an abstract handle to new data, and several operations, which are functions accepting the abstract handle as an argument.

ADTs typically seen in textbooks and implemented in programming languages (or their libraries) include:

* Associative array
* Complex number
* Container
* Deque
* List
* Multimap
* Priority queue
* Queue
* Set
* Stack
* String