실무에서 사용하는 기능 중에 하나로 list와 같이 쓰이는 java map 기능에 대해 알아보겠습니다.
1. MAP 사용법
- 자료를 저장하는 방법중 하나로 spring과 mybatis에서 빈번하게 사용됨
- Key와 Value로 데이터를 저장하며 Key로 데이터를 찾아쓸 수 있다.
- 자료를 저장하는데 있어 순서가 없다.
- Hashmap, Hashtable, Treemap의 클래스를 제공한다.
2. 사용방법
map을 선언할 시 String이나 Integer를 제네릭으로 지정할 수 있습니다.
(제네릭 <>을 쓰지 않고 선언할 경우 모든 데이터를 저장할 수 있음.)
데이터의 호출은 get을 통한 key의 지정으로 할 수있으며 데이터 입력은 put을 쓰게됩니다.
3. 예제 소스
public class Ex { public static void main(String[] args) { List<Object> result = new ArrayList<Object>(); Map<Object, Object> m1 = new HashMap<Object, Object>(); //1. 맵 선언 m1.put(1, "로또 "); //2. 로또 라는 데이터를 1이란 키로 저장 m1.put(2, "밖에 "); m1.put(3, "답이 없다 "); m1.put("가자", "사러 가야지"); //3. String 형태의 키(가자)로 저장 result.add(m1); //4. 맵을 리스트 0번방에 저장 for(int i=1; i<4; i++){ //5. 1~3까지 for문 Map mlist1 = (Map) result.get(0); //6. 리스트의 0번방을 가져와 맵타입으로 변환 System.out.print(mlist1.get(i)); //7. 맵에서 키가 1~3를 차례대로 출력 } } }
4. 소스 결과
5. 소스 설명
map에 저장한 데이터를 result라는 list 0번방에 저장합니다
저장한 데이터를 리스트에 꺼내쓰는 방법은 캐스팅 -> (타입)result.get(0) 을 통해 데이터를 맵타입으로 변환 후 다시 map에 담아주시면 됩니다.
그리고 1~4까지 i값을 증가시키는 포문을 통하여 키(1~4)를 통해 map에 담긴 값을 추출해 낼 수 있습니다.
6. 마치며…
대부분의 프로젝트에서 클래스로 지정된, vo 또는 dto 방식도 많이 쓰지만 저장방식에 제약이 없는 java map 기능을 많이 쓰니 list와 병행하여 반드시 숙지해 두시기 바랍니다.
답글 남기기