Java의 데이터 타입과 예외

Jim White

Java Developer

맵은 조회 테이블입니다

  • 맵은 조회 테이블 자료구조입니다.
    • 특정 "키"에 "값"을 저장합니다.
    • "키"로 저장된 "값"을 가져옵니다.
  • 예: 병원에 전화하기
    • 이름/생년월일(키)로 진료기록(값 객체)을 조회합니다.

진료 기록을 찾기 위해 이름과 생년월일을 묻는 콜센터처럼, 맵은 조회 자료구조로 동작합니다

Java의 데이터 타입과 예외

Map 인터페이스

  • Map 인터페이스는 키/값 쌍에 대한 연산을 정의합니다.
    • 특정 키에 값을 저장(put)하는 방법
    • 키의 값을 Map에서 제거하는 방법
    • 키로 값을 조회하는 방법
  • 유사한 동작의 Map 구현이 여러 개 있습니다.
    • 대표적인 구현은 HashMap입니다.
1 See https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Map.html for details
Java의 데이터 타입과 예외

HashMap의 키와 값

Map 또는 HashMap의 키와 값은 같은 타입일 수도, 다를 수도 있습니다

Java의 데이터 타입과 예외

HashMap 생성

HashMap<Integer, String> map = new HashMap<Integer, String>();
  • HashMap의 제네릭 생성자는 타입 2개가 필요합니다.

    • 첫 번째 타입 = 키 타입

      HashMap의 첫 번째 제네릭 매개변수는 키용입니다

    • 두 번째 타입 = 값 타입

      HashMap의 두 번째 제네릭 매개변수는 값용입니다

제네릭의 키/값 타입은 키와 값의 데이터 타입을 지정합니다

  • java.util.HashMap 임포트가 필요합니다.
Java의 데이터 타입과 예외

HashMap 메서드

  • .put(key,value)로 키/값 쌍을 추가합니다.
  • .remove(key)로 해당 키의 키/값 쌍을 제거합니다.
  • .get(key)로 해당 키의 값을 가져옵니다.
import java.util.HashMap
...
HashMap<Integer, String> map
    = new HashMap<Integer, String>();
map.put(0, "Jim");
map.put(1, "James");
map.put(3, null);
map.put(4, "James");
map.remove(0);
System.out.println(map);
{1=James, 3=null, 4=James}
String nickname = map.get(1);
System.out.println(nickname);
James
Java의 데이터 타입과 예외

Collections

  • java.util.Collections는 보조 클래스입니다.
  • 정렬, 채우기, 복사, 검색 등에 활용됩니다.
    • static 메서드만 제공합니다.
1 See https://docs.oracle.com/en/java/javase//21/docs/api/java.base/java/util/Collections.html
Java의 데이터 타입과 예외

Collection 메서드

  • List에 여러 객체 추가
    • addAll(List list, Object a, b, ...)
  • 컬렉션에서 특정 객체 개수 반환
    • frequency(Collection c, Object o)
  • List의 객체 순서 뒤집기
    • reverse(List list)
  • List의 객체 정렬
    • sort(List list)
  • List의 모든 객체를 다른 객체로 교체
    • fill(List a, Object o)
ArrayList<String> x = new ArrayList<String>();
Collections.addAll(x,
    "milk", "bread", "eggs", "milk");
System.out.println(x);

int cnt = Collections.frequency(x, "milk"); System.out.println(cnt);
Collections.reverse(x); System.out.println(x);
Collections.sort(x); System.out.println(x);
Collections.fill(x, "sugar"); System.out.println(x);
[milk, bread, eggs, milk]

2
[milk, eggs, bread, milk]
[bread, eggs, milk, milk]
[sugar, sugar, sugar, sugar]
Java의 데이터 타입과 예외

Arrays

  • 때로는 배열(예: int[])을 List로 변환해야 합니다.
    • Java 배열은 크기 변경이 불가하며, 요소를 늘리거나 줄여야 할 수 있습니다.
    • List가 더 많은 기능을 제공합니다(검색, 정렬 등).
  • java.util.Arrays는 또 다른 보조 클래스입니다.
    • Java 배열을 List로 변환할 수 있습니다.
Java의 데이터 타입과 예외

Arrays 예시

String[] arrayCountries = {"France", "Japan", "Brazil", "Egypt", "China"};
List<String> countries = Arrays.asList(arrayCountries);
System.out.println(countries);
[France, Japan, Brazil, Egypt, China]
Java의 데이터 타입과 예외

연습해 봅시다!

Java의 데이터 타입과 예외

Preparing Video For Download...