An abstract data type (ADT) is an abstraction of a data structure which provides only the interface to which a data structure must adhere to. The interface does not give any specific details about how something should be implemented or in what programming language. ADT provides an high-level view of the data structure. An ADT is typically defined by three components:

  • Data
    • The values or objects that the ADT can store or manipulate
  • Operations
    • The set of operations or methods that can be performed on the data stored in the ADT.
  • Axioms
    • The rules or conditions that must be satisfied by the data and operations of the ADT.

Difference between ADT and data structure

An ADT is a specification of the desired behaviour from the point of view of the user of the data. A data structure is a concrete representation of data, and this is from the point of view of an implementer, not a user.

Java Collections Framework

The Java Collections Framework has implementations of various ADTs. In java, the Java Collections Framework provides a unified architecture for representing and manipulating collections (groups of objects). It defines several interfaces that represent different abstract data types, such as List, Set, Queue, Stack, Tree, Graph, and Map, along with implementations of these interfaces.


Back to parent node: Data Structures and Algorithms

Data_StructureAbstract_Data_Type