맵에 대해 알아보겠다. 저번에 포스팅한 리스트와 마찬가지로 자료형을 담을 때 주로 사용한다.
하지만, 맵은 특징이 있다. 키(key)와 값(value)을 한 쌍으로 구분하는 자료형이다.
키(key) | 값(value) |
people | 사람 |
baseball | 야구 |
키엔 영어, 값엔 뜻을 넣어보았다.
리스트나 배열처럼 순차적으로 값을 구하지 않는다.
키를 이용해 값을 얻는다.
만약 야구라는 값을 구하고 싶다면 키인 baseball을 이용해 값을 확인할 수 있다.
맵 자료형에는 HashMap, LinkedHashMap, TreeMap 등이 있다.
그중 HashMap에 대해 설명해보겠다.
HashMap 선언
import java.util.HashMap;
public class P1 {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
}
}
이런식으로 선언을 해줄 수 있다.사용하기 위해서는 상단에 import를 해주어야 한다.키와 값의 타입을 지정해주어야 한다.
put
import java.util.HashMap;
public class P1 {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("baseball", "야구");
}
}
값을 넣어줄 때 사용한다. 리스트에선 add를 이용했지만 put을 이용한다.
키와 값을 함께 넣어줘야 한다.
get
import java.util.HashMap;
public class P1 {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("baseball", "야구");
System.out.println(map.get("people")); // 사람
}
}
값을 확인할 때 사용한다.
앞서 말한 것처럼 키를 이용해 그 키에 해당하는 값을 찾는다.
위의 예시에선 키를 people을 이용했으므로 그 값인 사람이 출력된다
containsKey
import java.util.HashMap;
public class P1 {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("baseball", "야구");
System.out.println(map.containsKey("people"));
}
}
앞선 리스트 포스팅의 contains처럼 항목 포함 판별을 하는 메소드다.
해당 키가 있다면 true 없다면 false를 반환한다.
위의 예시에서는 people이라는 키가 있기 때문에 true를 출력한다.
remove
import java.util.HashMap;
public class P1 {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("baseball", "야구");
System.out.println(map.remove("people"));
}
}
맵의 항목을 삭제할 수 있다.
키를 삭제한 수 그 값을 반환한다.
위의 예시에선 그 항목이 삭제되고 사람을 출력한다.
size
import java.util.HashMap;
public class P1 {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("baseball", "야구");
System.out.println(map.size());
}
}
맵의 크기를 반환한다.
위의 예시에서는 두개의 항목을 넣었으므로 2가 반환된다.
keySet
import java.util.HashMap;
public class P1 {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("baseball", "야구");
System.out.println(map.keySet());
}
}
[baseball, people]
모든 키들을 모아서 집합 자료형으로 반환해준다.
위처럼 결과처럼 나오게 된다.
출처 - 점프 투 자바
03-08 맵
사람을 ‘이름 = 홍길동’, ‘생일 = 몇 월 며칠’ 등으로 구분할 수 있듯이 맵(Map) 은 대응 관계를 쉽게 표현할 수 있게 해주는 자료형이다. > 맵은 다른 언어에도 있는…
wikidocs.net
'자료구조' 카테고리의 다른 글
[자료구조] 리스트 (2) | 2024.03.30 |
---|---|
[자료구조] 스택과 큐 (2) | 2024.03.24 |