JAVA

[Java] Collection - Map

lakelight 2022. 9. 19. 19:43
728x90
반응형

Collection

Java Collection의 주요 인터페이스는 List, Set, Map이 있습니다. 인터페이스를 구분하는 가장 중요한 개념은 "순서", "데이터 중복 여부" 입니다.

  • List - 순서가 있고, 데이터 중복이 가능합니다.
  • Set - 순서가 없고, 데이터 중복이 불가능합니다.
  • Map - Key, Value 구조로 데이터가 저장되고, Key는 중복이 불가능하지만 Value는 중복이 가능합니다.

이미지 출처: https://memostack.tistory.com/234

 

Map

Key와 Value로 구성된 객체를 저장합니다. 키는 중복될 수 없고, 값은 중복이 가능합니다.

 

Map 인터페이스를 구현한 클래스 종류

  1. HashMap
  2. TreeMap
  3. LinkedHashMap
  4. HashTable

 

HashMap 기본 메서드

HashMap 선언

Map<Integer, String> map = new HashMap<>();

값 추가

map.put(1, "One");

첫번째 데이터 value 조회

map.get(1); //"One"

Key 체크

map.containsKey(1); //true

Value 체크

map.containsValue("One"); //true

forEach

map.forEach((key, value) -> {
    //반복하면서 로직 처리
    //logic
});

 

HashMap Iterating

Keys에 대해 반복하면서 로직 실행

for (Integer integer : map.keySet()) {
    //logic
}

Values에 대해 반복하면서 로직 실행

for (String value : map.values()) {
    //logic
}

Entries(Key와 Value)에 대해 반복하면서 로직 실행

for (Map.Entry<Integer, String> integerStringEntry : map.entrySet()) {
    //logic
}

 

LinkedHashMap

입력된 순서를 기억하여, 입력한 순서대로 값들을 출력합니다.

 

Json형태와 비슷한 Map을 Json으로 변환하는 방법

1. jackson 라이브러리 ( Spring Boot Library )

ObjectMapper mapper = new ObjectMapper();

try{
    System.out.println(mapper.writeValueAsString(map);
    //map에 대한 값이 Json으로 출력됩니다.
} catch (Exception e) {
}

2. Gson 라이브러리 ( Google )

Gson gson = new Gson();
String json = gson.toJson(map, HashMap.class);
System.out.println(json);

 

 

[참고]

1.  Collection - List, Set, Map

728x90
반응형

'JAVA' 카테고리의 다른 글

[Java] 자바 메모리 영역 관련 노트 정리  (0) 2022.10.24
[Java] Thread Local  (0) 2022.10.24
[Java] Collection - Set  (0) 2022.09.19
[Java] Collection - List  (0) 2022.09.19
[Java] JDK 동적 프록시  (0) 2022.08.24