반응형
주로 스프링에서 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반
반응형
'JAVA' 카테고리의 다른 글
[JAVA 자바] Date 원하는 날짜 포맷으로 변환하기(날짜 형태, 데이터형 변환, 초를 x일x시간x분x초로 변환) (0) | 2021.04.21 |
---|---|
[JAVA 자바] instanceof 사용하여 객체 비교하기 (0) | 2021.04.09 |
Call by value vs Call by Reference (0) | 2021.03.23 |