Java

[Java] Map

wwxs 2024. 9. 23. 17:37

Map 인터페이스

  • 키(key)와 값(value)의 쌍으로 요소를 저장하는 데이터 구조
  • 키는 고유한 데이터(하나의 값)를 가진다

Map의 주요 특징

  • 키의 유일성
  • 값의 중복성
  • 순서 보장 X (LinkedHashMap은 순서 보장 O)

1. HashMap

  • 해시 테이블을 사용하여 키-값 쌍을 저장
  • 순서 유지 X (작업 시간 빠름)
  • null 허용(키, 값 모두 허용)

2. LinkedHashMap

  • 삽입 순서를 유지
  • 삽입 순서가 중요하고 빠른 검색이 필요할 때 주로 사용

3. TreeMap

  • 키-값 쌍을 트리에 저장, 키에 따라 정렬
  • 키에 null 값 허용

Map 인터페이스 메서드

더보기
// put(K key, V value) : 키와 값을 Map에 추가
// get(Object key) : 지정된 키에 매핑된 '값'을 반환
// remove(Object key) : 주어진 키와 연관된 키-값 쌍 삭제(반환)
// containsKey(Object key) : 주어진 키가 Map에 있는지 확인하여 boolean으로 반환
// keySet() : Map의 키 셋을 반환
// values() : Map의 값 컬렉션을 반환
// entrySet() : Map의 키-값 쌍을 나타내는 Set을 반환

 

Map 컬렉션 선언 방법

  • Map<키타입, 값타입> 인스턴스명 = new HashMap<키타입, 값타입>();

 

(예제 코드)

더보기
public static void main(String[] args) {
	Map<String, Integer> students = new HashMap<String, Integer>();
		// 이름(키), 나이(값)
		
		students.put("홍동현", 25);
		students.put("홍길동", 30);
		students.put("김재혁", 22);
		
		System.out.println(students);	// {김재혁=22, 홍동현=25, 홍길동=30}
		
		System.out.println(students.get("홍길동"));	// 30
		
		students.remove("홍동현");
		System.out.println(students);	// {김재혁=22, 홍길동=30}
		
		System.out.println(students.containsKey("홍길동"));	// true
		System.out.println(students.containsKey("최영재"));	// false
		
		System.out.println(students.size());	// 2
		
		System.out.println(students.keySet());	// [김재혁, 홍길동]
		System.out.println(students.values());	// [22, 30]

	}
}

'Java' 카테고리의 다른 글

[Java] 제네릭  (0) 2024.09.23
[Java] MVC 패턴  (0) 2024.09.23
[Java] Set  (0) 2024.09.23
[Java] List  (0) 2024.09.23
[Java] 자바 기초 용어 정리  (0) 2024.09.23