일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 기초코딩
- 클래스
- 배열
- Java
- 메소드
- 컴퓨터과학개론
- 코딩초보
- github
- Git
- 데이터베이스
- 스프링
- 알고리즘
- eclips
- 자바 스프링
- 제이쉘
- 이클립스
- 초보코딩탈출
- JShell
- 프로그래밍언어
- 스프링 기초
- spring
- 프로그래밍
- Elk
- 자바
- 자바프로그래밍
- 리눅스
- 초보코딩
- 자바기초
- 프로그래밍기초
- JAVA기초
- Today
- Total
키보드워리어
[자바]Collection-Map 인터페이스 소개 본문
안녕하세요 오늘은 인터페이스 Map에 대한 소개를 하려고 합니다.
유용한 인터페이스 Map
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html
Map클래스는 Key와 Value로 이뤄져 있는 데이터 구조입니다.
중요) Key는 중복이 불가합니다.
Map 종류
Map을 implement클래스는 4가지를 소개하겠습니다. Map의 다양한 구현 클래스 중 하나를 선택할 때,
우리는 그 클래스의 특성과 퍼포먼스를 고려해야 합니다.
다음은 주요 implementation 클래스입니다.
HashMap은 Map 인터페이스의 구현 클래스 중에서 가장 많이 사용되는 클래스 중 하나입니다. HashMap은 해시 테이블로 구현되어 있
으며, key와 value 쌍을 저장합니다. HashMap은 내부 구조적으로 순서와 정렬을 유지하지 않습니다. 그리고, null 값을 key로 사용
할 수 있습니다. HashMap은 빠른 검색 속도를 제공합니다.
HashTable은 HashMap과 비슷한 기능을 제공하지만, Synchronized 되어 있어서 멀티 스레드 환경에서 안전하게 사용할 수 있습니
다. 하지만, null 값을 key로 사용할 수 없고, 느린 검색 속도로 인해 거의 사용하지 않습니다.
LinkedHashMap은 삽입 순서를 유지하는 해시 테이블로 구현된 Map 클래스입니다. 그리고, 정렬은 되지 않지만, 순서대로 데이터가 유
지도입니다.
이 구현 클래스는 최근에 추가된 항목에 더 높은 우선순위를 부여하는 LRU(Least Recently Used) 캐시를 구현하는 데 유용합니다.
TreeMap은 이진 검색 트리로 구현된 Map 클래스입니다. 이 구현 클래스는 정렬된 키 값 쌍의 집합을 유지합니다.
검색과 범위 검색 기능에서 뛰어난 성능을 제공합니다. TreeMap은 자동으로 오름차순으로 정렬합니다.
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("one", 1);
map.put("two", 2);
map.put("three", 3);
System.out.println(map.get("one")); // 1
System.out.println(map.get("two")); // 2
System.out.println(map.get("three")); // 3
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
위 코드는 HashMap을 사용한 간단한 예제 코드입니다.
put 메서드를 사용하여 key-value 쌍을 저장하고, get 메소드를 사용하여 key에 해당하는 값을 검색합니다.
그리고 entrySet 메소드를 사용한다면 HashMap의 모든 key-value 쌍을 검색할 수 있습니다.
'JAVA > 입문' 카테고리의 다른 글
[자바] Set 자료구조 살펴보기 (0) | 2023.04.11 |
---|---|
[자바] Collection 활용 - 2 (0) | 2023.04.10 |
[자바] ArrayList 활용 (0) | 2023.03.20 |
[자바] 컬렉션 소개: Java의 List 이해 (0) | 2023.03.16 |
[자바] 인터페이스에 관한 이야기 (interface) (0) | 2023.03.12 |