About a month after finishing a Java data structures course, I realized I've forgotten much of what I learned about stacks, linked lists, and queues. I understand that they're important, but I'm having trouble remembering how to implement and use them in actual programs. What's the best way to rebuild my understanding? Should I review my old notes and assignments, follow a course or video series, read a book, or focus mainly on hands-on projects?
4 Answers
Start by reviewing your old notes and assignments, then reimplement each structure from scratch in Java. Don’t just memorize the syntax—make sure you can explain what each structure is, how it works internally, and when you would choose it.
Focus on the differences between the structures and the operations they support. A linked list stores nodes connected by references, while a stack follows last-in, first-out behavior through push and pop operations. Queues use first-in, first-out behavior through enqueue and dequeue operations. Once those concepts are clear, the Java syntax is mostly secondary. Practice implementing them and solving small problems until the operations feel natural.
A good algorithms book can help, even if its examples use another language. The important part is understanding the ideas and translating the examples into Java yourself. After studying each topic, write a small implementation and test it with different inputs.
The concepts are fairly simple, but they become much easier to remember when you use them in a project. Build something small, such as a task manager, browser-history simulation, undo feature, or queue-based scheduler. Struggling through implementation and debugging usually teaches more than watching another lecture.
That makes sense. Building something myself should help me understand where each structure is actually useful instead of only memorizing definitions.

I’ll start with the underlying behavior and trade-offs, then practice choosing the right structure for small programming problems.