https://medium.com/@letslearnnow/ace-your-java-interviews-the-comprehensive-cheatsheet-for-collections-27559c33cfd6