Elice --Cloud--Track/4~7 주차

3주차 블로그 챌린지 - java - map

babystep 2023. 12. 10. 23:58
728x90

 

[ map ] 

[ map 컬렉션 ]

  •  interface map<t> <-- map 자체가 인터페이스이다.

 

  • JSON map 형식이다.

 

  • 메소드
    • Put(key, value )
      • 리턴타입 : ValueType
      • Key 대응하는 value 삽입하거나,이미있다면 갱신한다.
    • get
      • 리턴타입 : ValueType
      • Key 해당하는 value 반환한다.
    • containsKey
      • 리턴타입 : Boolean
      • 파라미터로 넘겨준 key map 있는지 확인하여 반환한다.

 

  • remove
    • 리턴타입 : ValueType
    • Key 해당하는 값을 삭제하고, 반환한다.

 

  • keySet
    • 리턴타입 : Set<KeyType>
    • Map 있는 key 종류를 set컬렉션으로 반환한다.
       
  • Map 컬렉션 구현체
    • HashMap 
      • 해시 함수를 활용한 자료구조
      • "key" "value" 존재
      • Key : 1234
      •  
    • HashTable & ConcurrentHashMap
      • HashTable
        • synchronize 키워드를 동한 동기화
        • Key value null 허용되지 않는다.

 

  • ConcurrentHashMap
    • 해당 Entry에만 Lock 걸어서 동기화
    • Key value null 허용되지 않는다.

 

 

  • TreeMap 
    • BinarySearch Tree 일종인 Red-Black Tree 활용한 Map
  • Iterator
    • 컨테이너를 순회할 있도록 도와주는 객체
    • 자바에서의 이터레이터는 컬렉션을 순회할수있도록 도와주는 객체
    • Public Interface Iterator<E>
       
    • Iterator 매서드
      • hasNext
        • 리턴 : boolean
        • 다음번에 순회할 값이 존재하는지 반환

 

  • Next
    • 리턴 : ElementType
    • 다음값을 가리키며 해당값을 반환한다.

 

  • Remove
    • 리턴 : void
    • Iterator 마지막으로 반환한 값을 collection 에서 제거한다.

 

  •  컬렉션 프레임 워크

Collection 인터페이스 ( 인터페이스 Iterable  상속받는다. )

── List 인터페이스

│   ├── ArrayList 클래스

│   ├── LinkedList 클래스

│   ├── Vector 클래스

│   │   └── Stack 클래스

│   │

│   └── ...

── Set 인터페이스

│   ├── HashSet 클래스

│   │   └── LinkedHashSet 클래스

│   │

│   └── ...

└── Queue 인터페이스

    ├── Deque 인터페이스

    │   └── ArrayDeque 클래스

    │

    └── PriorityQueue 클래스

 

Map 인터페이스

── HashMap 클래스

│   └── LinkedHashMap 클래스

── SortedMap 인터페이스

│   └── TreeMap 클래스

└── Hashtable 클래스

    └── Properties 클래스

 

  • Iterator 구현체
    • listIterator():
    •  public interface Iterable<T>{

Iterator<T> iterator();

. . .

}

 

 

 

 

 

 

추천인 코드 : o6i4B3y95   :  앨리스트랙 참여 링크 

 

 

#엘리스트랙 #엘리스트랙후기 #온라인코딩부트캠프 #온라인코딩학원 #백엔드학원 #개발자국비지원 #개발자부트캠프 #국비지원부트캠프 #DOCKER #백엔드 #자바스프링 #스프링강의 #백엔드인강 #RESTAPI #스프링개발자

728x90