[JAVA] Map에 대해 알아보자💨

new_wisdom✨
✨Developer : New wisdom✨
3 min readJul 1, 2020

스프링 부트 공부하면서 Controller에서 Map 컬렉션으로 데이터를 리턴해주는 경우가 종종 있었다. 예전에 배운 자바라 가물가물한 개념으로 일단 감으로 쓰고 있었다. 자주 쓰이니 개념 짚고 넘어가겠다!

잠만 그전에 Collection 이란?

자바에서 여러 원소를 담을 수 있는 자료구조를 뜻하며,
데이터의 집합, 그룹을 의미한다.

출처 : 구글링,,

Map은 Collection 인터페이스를 상속받지는 않지만 Collection으로 분류된다.

Map

Map은 인터페이스이다!
Key와 Value의 쌍으로 이루어진 데이터의 집합이다.
인터페이스를 구현하기 위해선 구현 클래스가 필요하다.
Map의 구현 클래스로는 Hashtable, HashMap, SortedMap 등이 있다.
나는 주로 HashMap을 쓰게 된다.

Map<String, Object>() map = new HashMap<String,Object>();
map.put("name", "jihye");
map.put("id", "20171105");

이렇게 사용할 수 있는데 key 값을 String으로 value 값을 Object 형으로 put 메소드를 통해 입력할 수 있다.

그리고 내가 이렇게 정리하게 된 이유는 List형 데이터를 Map에 어떻게 집어넣을 것인가였다.

{{key : "한식", 
value : {"삼겹살","곱창","백반","제육볶음","찌개","찜닭"}},
{key : "양식",
value : {"파스타","피자","스테이크","햄버거"}}, ...};

이런 Json 형태를 Front 단으로 보내고 싶었는데 어떻게 해야할 까 고민하다
Map을 사용하게 된 것이다.

방법은 Map에 배열 형태의 데이터를 집어 넣는 것이었다.

String menusArr[][]={{"삼겹살","곱창","백반","제육볶음","찌개","찜닭"},
{"파스타","피자","스테이크","햄버거"}};
@RequestMapping(value="/data/menus", method= RequestMethod.GET)
@ResponseBody
public Map<String, Object> data() {
Map<String, Object> arrMap = new HashMap<String, Object>();
arrMap.put("한식",menusArr[0]);
arrMap.put("양식",menusArr[1]);
return arrMap;
}

이런식으로!
정말 쉽게 해결할 수 있는걸…🙂

--

--