Data structures are used every day to hold and collect data. Often times pre-built data structures are used, such as Linked Lists and Maps, but you may never have built one from the ground up. In this course, Implementing and Understanding Data Structures in Java, you'll learn how to build many of the core data structures used in software development by utilizing the core Java programming language. First, you'll dive into learning about queues and stacks. Next, you'll explore lists and hashes in-depth. Finally, you'll finish off the course by discovering trees and how to utilize in practice. By the end of this course, you'll have a solid foundation on what each data structure is well-suited for, and what each data structure's performance access cost is.