[Java] 컬렉션 프레임워크의 핵심 인터페이스

strongmhk·2023년 8월 14일

Java

목록 보기
8/9
post-thumbnail

점선 화살표 : 의존한다
점선 삼각형 화살표 : 구현한다
실선 삼각형 화살표 : 상속받는다

위 그림은 컬렉션 프레임워크의 클래스 다이어그램이다



구조

참고로 인터페이스에 적혀있는 메소드는 모두 추상메소드이다

  • collection : 쉽게 바구니라고 생각하면 된다. 물건을 담기 위한 바구니!
    • add : 바구니에 물건을 집어넣을 때 사용하는 메소드
    • iterator : 바구니에 물건을 집어넣고, 바구니에 있는 물건을 꺼내려할 때 필요한 iterator를 반환한다
    • size : 바구니에 담겨있는 물건의 개수를 반환한다


  • iterator : 물건을 꺼내기 위한 인터페이스
    • hasNext : 물건을 꺼낼 때, 막 꺼내는게 아니고 다음에 꺼낼 물건이 있는지 확인하고 꺼내야한다. 다음에 꺼낼 물건이 있는지 확인하는 메소드
    • next : 다음에 꺼낼 물건이 있으면 그 물건을 꺼내는 메소드


  • List : 바구니에 있는 물건의 순서를 부여하는 자료구조(collection을 상속받음)
    • ArrayList : List의 구현체(collection을 상속받는 List의 구현체이므로 collection의 추상메소드와 List의 추상메소드를 모두 구현한다)


  • Set : 바구니에 있는 물건의 중복이 불가능한 자료구조(collection을 상속받음)
    • HashSet : Set의 구현체(collection을 상속받는 Set의 구현체이므로 collection의 추상메소드와 Set의 추상메소드를 모두 구현한다)


  • Map : 바구니에 있는 물건의 구분을 위해 유일한 key값을 value에 매핑시켜 담는 자료구조, Set에 의존한다(key값이 유일해야하기 때문에)
    • HashMap : Map의 구현체
      • get : key값을 매핑해 value를 가져옴
      • ketSet : key값들을 모두 가져옴(key값은 중복 불가능이므로 Set타입으로 반환)
      • put : key값에 대한 value값을 매핑해 map에 담는다
profile
저 커서 개발자가 될래요!

2개의 댓글

comment-user-thumbnail
2023년 8월 14일

정리가 잘 된 글이네요. 도움이 됐습니다.

1개의 답글