Abstract Data Types

creating abstract models of real world problems

An Abstract Data Type (ADT) defines the operations and behaviour of a data structure, but not the implementation.

Multiple data structures may be used to implement the same ADT.

For example, a Stack is an Abstract Data Type with the following operations:

  • push()
  • pop()
  • peek()
  • isEmpty()

We can implement a Stack by using a static array or an ArrayList.

A queue is another ADT with the following operations:

  • enqueue()
  • dequeue()
  • peek()
  • isEmpty()

We can also implement a Queue by using a static array or an ArrayList.

In this unit we will study a variety of Abstract Data Types and their implementations.


The Hard Yards

Keep thinking! Stay focussed. Your brain is going to struggle with deep thinking when studying this. Take a break when you need to, but don't avoid the struggle!



Welcome to the hard stuff

OOP may be very unfamiliar to you. This will make it seem very difficult.

Experience will help you.

Struggling will help you.

Asking questions will help you.

Developing your English skills will help you!

Understanding the Data Type you are working with will help you - eg Student, Elephant[], ArrayList Hammer, String...