자료구조

[자료구조] 맵

코 밑 2024. 4. 4. 22:28
Contents

맵에 대해 알아보겠다. 저번에 포스팅한 리스트와 마찬가지로 자료형을 담을 때 주로 사용한다.

하지만, 맵은 특징이 있다. 키(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]

 

모든 키들을 모아서 집합 자료형으로 반환해준다.

위처럼 결과처럼 나오게 된다.

 

 

출처 - 점프 투 자바

https://wikidocs.net/208

 

03-08 맵

사람을 ‘이름 = 홍길동’, ‘생일 = 몇 월 며칠’ 등으로 구분할 수 있듯이 맵(Map) 은 대응 관계를 쉽게 표현할 수 있게 해주는 자료형이다. > 맵은 다른 언어에도 있는…

wikidocs.net

 

'자료구조' 카테고리의 다른 글

[자료구조] 리스트  (2) 2024.03.30
[자료구조] 스택과 큐  (2) 2024.03.24