For potential interviewees using Java for their programming language, understanding existing data structure classes in Java is crucial to improve their program's performance. However, while preparing for a coding interview, I found that all helpful descriptions / tutorials / comments of basic Java data structures (including their internal mechanisms and time complexity) are distributed over popular websites (e.g., GeeksforGeeks, StackOverflow, etc.) and it is time consuming to integrate them into a single picture (physically as well as mentally).
This project is to provide an easy-to-understand overview of Java Collections framework which is actively used by developers, interviewers, interviewees, and so on. I am not aiming to describe all classes which implement Java Collection Interface, but instead, tried to explain how representative classes work internally and how those mechanisms affect the time complexity. So, this project does not provide any source code but only provides a visual description of the Java Collections framework.
FYI, Map is not a part of Java Collections framework, but I added a brief description about the Map Interface and its implementations (e.g., HashMap) because so many people think Map is also a part of Collections framework.
You can view my Java Collections framework description here (You may need draw.io to view this document): (Eng) (Kor).
If you don't use draw.io, you can download a converted image of the up-to-date draw.io document by clicking the links below: (Eng) (Kor)