저번 포스팅에서는 자료구조 중 셋(Set)에 대해서 알아보았는데요!
오늘은 자료구조 맵(Map)에 대해서 알아보겠습니다!
Map 이란?
Map은 순차적으로 저장하는 List(리스트). Array(배열)과 달리 Key와 Value 방식으로 저장하는 자료구조입니다.
Map 특성
- 순차적으로 접근해서 값을 구하지 않고 Key 값을 통해 Value 값을 얻는다
- 순서를 유지할 필요가 없다
- 값(Value)은 중복이 허용되나, Key 값은 고유(Unique) 해야 한다.
Map 구현 클래스
- HashMap : Map을 구현하는 대표 클래스, Key와 Value를 한쌍으로 저장하는 특징이 있다.
많은 양의 데이터를 검새하는데 검색 속도가 아주 빠른다
- TreeMap : 키와 값을 한쌍으로 이진트리 기법으로 저장한다.
데이터를 추가하거나 삭제하는데 속도가 아주 좋다
key으로 정렬을 통한 탐색 하는데 용의 하다
- LinkedHashMap : 데이터를 입력한 순서대로 저장된다
배열과 리스트처럼 인덱스로 접근하기 용의 하다
Java Map 사용법
import java.util.HashMap; // <-- import
/* init Map */
HashMap<String,String> map = new HashMap<String,String>();
Java에서는 java.util.HashMap 클래스를 임포트 하면 Map을 사용할 수 있습니다. (TreeMap, LinkedHashMap 가능)
Map는 직접 생성해서 사용할 수 없고, HashMap, TreeMap, LinkedHashMap 등의 클래스로 구현해서 사용해야 합니다.
[예제]
import java.util.HashMap; // <-- import
public class Main {
public static void main(String[] args) {
/* init Map */
HashMap<String,String> map = new HashMap<String,String>();
/* data input */
map.put("Name","GODSU");
map.put("Email","GODSU@test.com");
map.put("PhoneNumber","010-1234-1234");
map.put("Age","100");
/* data output */
System.out.println("Name : "+map.get("Name"));
System.out.println("Email : "+map.get("Email"));
System.out.println("PhoneNumber : "+map.get("PhoneNumber"));
System.out.println("Age : "+map.get("Age"));
/* function */
System.out.println("Size : "+map.size());
System.out.println(map.remove("Name"));
System.out.println(map.containsKey("Name"));
}
}
예제를 보면 HashMap 객체를 생성하고 Put 함수를 통해 (Key, Value) 형식으로 데이터를 입력합니다.
그 후, get("key") 메서드를 통해 값을 확인할 수 있습니다
그리고, Map에 저장된 수를 확인하는 Size 메서드와, 데이터를 삭제하는 remove, 키(Key)가 속해있는지 확인하는 containsKey 메서드 같이 Map에서도 다양한 메서드를 지원합니다.
이 뿐만 아니라 Map에서 다양한 기능을 제공하는 메서드들이 있습니다.
아래 링크에서 필요한 메서드들을 사용해보세요~
오늘은 자료구조 중 맵(Map)을 알아보았습니다.
감사합니다
'💻 IT > 📌 Java' 카테고리의 다른 글
[JAVA] NullPointerException 체크 & 해결방법(초간단) (0) | 2024.11.11 |
---|---|
[Java] Set 이란 ? Java Set 사용법 (14) | 2022.04.06 |
[Java] Queue 란? Java Queue 사용법 (6) | 2022.04.05 |
[Java] Stack 이란 ? 스택(Stack) 사용법 (4) | 2022.04.01 |
[Java] List to Array :: 자바 리스트를 배열로 변환하기 (3) | 2022.03.31 |