개발은 재밌어야 한다
article thumbnail
반응형

주로 스프링에서 RESTAPI의 결과값으로 받아올 때에 MAP형태나 리스트맵형태로 반환을 사용하기 때문에 Map에 대한 이해가 필요할 때가 많다.

 

HashMap에 대한 사용을 위해 키들과 값을 가져오는 방법에 대해 알아보자

 

 

다음과 같은 HashMap을 선언하였습니다

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

 

HashMap은 {key - value}의 형태로 쌍의 데이터로 저장되는 구조를 갖고 있는 객체이다. 값은 중복될 수 있지만 키 값은 중복이 되지않아 이미 존재하는 key 값에 동일한 key를 put하게 되면 기존의 데이터는 새로 put한 값으로 대체가 된다.

 

 

선언한 classMap에 키와 값들을 아래와 같이 세팅해준다.

classMap.put("철수", 1);
classMap.put("영희", 2);
classMap.put("맹구", 3);

위와 같은 키와 값이 연결된 형태가 형성된 HahsMap이 생성이 된다고 생각하면 된다.

 

 

 

KEY들을 가져오는 경우

System.out.println(classMap.keySet());

[철수, 영희, 맹구]

 

 

VALUE들을 가져오는 경우

System.out.println(classMap.values());

[1, 2, 3]

 

 

 

Key 값을 각각 출력하는 방법

// iterator() 이용하는 방법
Iterator<String> iter = classMap.keySet().iterator();
while(iter.hasNext()) {
	String key = iter.next();
    System.out.print(key + ", ");
}

// 철수, 영희, 맹구




// keySet()을 이용한 for문
for (String key : classMap.keySet()) {
	System.out.print(key + ", ");
}

// 철수, 영희, 맹구




// Entry 이용하는 방법
Set set = classMap.entrySet();
Iterator iter2 = set.iterator();
while (iter2.hasNext()) {
	Entry<String, Integer> entry = (Entry)iter2.next();
    System.out.print((String)entry.getKey() + "는 " + (Integer)entry.getValue() + "반, ");
}

// 철수는 1반, 영희는 2반, 맹구는 3반

 

반응형
profile

개발은 재밌어야 한다

@ghyeong

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!