Skip to content

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 a…

Notifications You must be signed in to change notification settings

HeesukSon/Java-Collections-Framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 

Repository files navigation

Java-Collections-Framework

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. To conduct some performance comparisons of competing data structures (e.g., LinkedList vs. ArrayList, LinkedList vs. ArrayDeque), I put simple source codes in 'performance-test' directory without any IDE-specific configurations. So you can just compile (javac) and run (java) the source codes.

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. Version) (Kor. Version)

If you don't use draw.io, you can download a converted image of the up-to-date draw.io document which is uploaded to this github repository ('images' directory).

Here is the snapshot image of the document:

Snapshot: Java Collections Framework Overview (eng)

About

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 a…

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages