자바의 컬렉션을 정리하다보니 너무 얽히고 섥혀있고,
어떤 인터페이스가 어떤 클래스와 연결되어 있는지 파악하기가 힘들어서
그림으로 그려보았습니다.
자바 컬렉션을 처음 공부하시는 분들께서 보고 참고하시면 좋겠습니다!
MAP/HashMap은 Iterable도 Collection도 상속하지 않습니다.
다만 같은 util 패키지 안에 있을 뿐입니다.
따라서 List/Set과 HashMap을 메서드 등으로 변경하는건 매우 불편할 것으로 예상됩니다.
그냥 하나하나 넣어야 할 뿐.
(파이썬에서는 호환을 위한 items()나 Counter 함수가 있었는데, 자바에도 있을지? 잘 모르겠습니다.)
Collection이 Iterable을 상속하고 있습니다.
막상 그리고 나니, 왜 아무도 이런식으로 표현하지 않았는지 알겠습니다.
너무 복잡해서 그림으로 표현해도 감당이 안될 정도로 복잡하기 때문이었습니다.
이 그림을 기초로, 각 클래스/인터페이스별 추가된 속성/메소드를 비교해보면 굉장히 도움이 될거라고 생각합니다. 곧 시간을 내서 추가해 보겠습니다.