# Data Structures 1. Stacks: - [API](../module4/src/main/java/com/hithomelabs/princeton1/module4/Stack.java) - [Sample client](../clients/src/main/java/com/hithomelabs/clients/ArrayStackClient.java) - Linear data structure - Can have various implementations - Should support (LIFO) - [Primitive implementation](../module4/src/main/java/com/hithomelabs/princeton1/module4/ArrayStack.java) (Using arrays of primitive data types) - [Other implementations](../module4/src/main/java/com/hithomelabs/princeton1/module4/LinkedStack.java) (Using linked lists) 2. Queues: - [API](../module4/src/main/java/com/hithomelabs/princeton1/module4/Queue.java) - [sample Client](../clients/src/main/java/com/hithomelabs/clients/LinkedQueueClient.java) - Linear data structure. - Can have various implementations. - Should support FIFO. - [Primitive implementation](../module4/src/main/java/com/hithomelabs/princeton1/module4/ArrayQueue.java) (Using array of primitive data types) - Other implementation ([using linked lists](../module4/src/main/java/com/hithomelabs/princeton1/module4/LinkedQueue.java))