☕JAVA/🐣 강의 [JAVA]

[JAVA][기초] Map 인터페이스 / Iterator 인터페이스

디카페인라떼 2022. 11. 10. 17:22

[기초] 시리즈는 본강의를 수강후 정리한 글들 입니다.

Java for Beginner - YouTube

 

Java for Beginner

[교재 link] https://github.com/namoosori/java-for-beginner/tree/master/doc Java for Beginner 강의에서 다루는 내용은 다음과 같습니다. - Java 개요 : Java 언어가 어떤 언어이고 Java 언어를 이용해 프...

www.youtube.com


💡Map 인터페이스

  • 대표적인 특성 : 요소를 저장하기 위해서는 유일한 키 key 와 함께 저장해야 함.
  •  List, Set, Queue와 달리 Map 인터페이스는 Collection 인터페이스를 상속하지 않음.
    • => 저장 요소가 다름 (키 : 밸류)
  •  Map 인터페이스는 내부에 Entry 인터페이스를 가지고 있으며 Entry는 키와 값을 가진 객체의 순서 쌍.
  •  Map 인터페이스의 주요 구현 클래스는 HashMap, LinkedHashMap, TreeMap 등이 있음. 
    • HashMap
      • HashMap에 요소를 저장하기 위해서는 키 key 와 값 value 이 필요하며 값의 경우 중복이 가능.
      • => 키는 유니크해야 하므로 달라야 함!
      • HashMap 클래스는 저장되는 요소의 순서를 보장하지 않음.
    • LinkedHashMap 
      • LinkedHashMap 클래스는 요소를 추가한 순서를 보장함.
    • TreeMap 
      • TreeMap 클래스는 요소의 키에 대한 정렬된 순서를 보장하며 이를 위해 키 객체가 Comparable 인터페이스를 구현하고 있어야 함.
        • => 키를 기준으로 정렬.
        • => 정렬 기준을 정해주어야 하고 comparable 인터페이스를 구현하는 형태로 해야함. 

💡iterator 인터페이스

  • iterator 인터페이스는 컬렉션 객체가 가지고 있는 요소들을 순회할 수 있는 기능들을 명세한 인터페이스
    • =>Collection 프레임워크의 클래스들이 전체 요소들을 모두 꺼내고자 할때 활용할 수 있는 방법
  •  Collection 인터페이스를 구현한 클래스(List, Set, Queue)들은 iterator() 메소드를 통해 iterator 구현 객체를 반환
    • => 전체 요소의 바로 이전 = iterator / hasNext() -> next() -> hasNext() -> ..반복
  •  Map 구현 클래스의 경우 Map.values() 메소드를 통해 값(요소)들을 Collection 타입으로 객체를 반환받은 이후에 다시 iterator 구현 객체를 이용하여 순회 가능
  • 🚩Stream과 Lamda를 알면 사용할 일 없음..