Java에서 Map을 사용하는 방법을 알아보겠습니다.
List와 비슷해 보이지만 사용 방법은 다릅니다.
List에는 값을 추가하지만 Map에는 두 가지 요소를 추가해야 합니다.
- 첫째는 키입니다.
- 두 번째는 값이 됩니다.
키는 간단하게 생각하면, 값을 분별할 수 있도록 붙여놓은 이름이라고 생각하면 됩니다.
Map에는 값 하나하나에 키가 있으며 키와 값은 짝을 이루는 것이 특징입니다.
배열이나 List은 인덱스 번호로 값을 지정하지만 Map의 경우는 키로 값을 지정합니다.
Map 사용 방법
Map을 선언하는 방법과 데이터를 추가하는 샘플을 보겠습니다.
선언은 new를 사용하게 됩니다.
샘플을 보면서 Map의 선언과 요소를 추가 방법을 확인해보겠습니다.
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("keySample1", "val1");
map.put("keySample2", "val2");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
결과
keySample1 : val1
keySample2 : val2
샘플에서는 Map을 new로 선언한 이후 put메서드로 키와 값을 추가하고 있습니다.
put메서드에는 키와 값을 지정합니다.
Map.put(키, 값)
이번에는 선언을 하면서 값을 추가하는 방법을 보겠습니다.
익명 클래스를 사용해 Map을 선언하면서 요소를 추가할 수 있습니다.
샘플을 보면서 익명 클래스에서 초기화하는 방법을 알아보겠습니다.
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>() {
{
put("keySample1", "val1");
put("keySample2", "val2");
}
};
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
결과
keySample1 : val1
keySample2 : val2
익명 클래스를 사용해 Map을 선언하면서 값을 추가했습니다.
주의점으로는 연산자 <> 안의 데이터형 지정을 생략하면 안 됩니다.
선언만 하는 경우에는 생략이 가능하지만 값을 추가할 때는 주의해야 하겠습니다.
댓글