활동/독서

[Do it! 점프 투 자바] 03.자바의 기초 - 자료형 (HashMap의 Key, Value / enum 장점과 예시)

ByeongJun 2023. 8. 21. 16:38
반응형

* 본 게시물은 이지스퍼블리싱 [Do it! 점프 투 자바] 서평단 미션 수행 및 학습 목적으로 작성하였습니다.
 

  모든 내용, 디자인, 이미지, 편집 구성의 저작권은 이지스퍼블리싱(주)와 지은이에게 있으며

  학습 목적으로 내용을 재구성하여 작성했음을 밝힙니다. 문제시 삭제하도록 하겠습니다.


 

 

03-08 맵

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

wikidocs.net

 

 

 

 

 

 

맵은 리스트나 배열처럼 순차적으로(Sequential) 요솟값을 구하지 않고 

키(key)를 이용해 값(value)을 얻는다.

put key와 value를 추가한다.
get key에 해당하는 value를 얻을 때 사용한다.
containsKey 맵에 해당 key가 있는지 true, false로 return
remove 해당 key의 항목을 삭제한 후 value 값을 return
size() 맵 요소의 갯수를 return
keySet() 모든 key를 모아 집합 자료형으로 return     (리스트 자료형으로 바꿔서도 사용 가능)
List<String> keyList = new ArrayList<>(map.ketSet());​

 

HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("animal", "동물");

HashMap 또한 마찬가지로 제네릭스를 사용하는데 key, value 모두 String 이외의 자료형은 사용할 수 없다.

 

System.out.println(map.get("people")); // "사람" 출력

맵의 key에 해당하는 value가 없을 때 get 메서드를 사용할 경우엔 null이 return 된다.

 



 

 

 

Enum
  • 매직 넘버를 사용할 때보다 코드가 명확하다.
    (매직 넘버란, 프로그래밍에서 상수로 선언하지 않고 사용하는 숫자를 의미)
  • 잘못된 값을 사용해 생길 수 있는 오류를 막을 수 있다.

 

- 한정된 값을 갖는 타입을 열거 타입이라고 한다.

- 값을 변경할 수 없는 것을 상수라고 한다.

  (대문자로 작성하는 것이 관례)

// 같은 패키지 내 .Enum 생성
public enum Week {       // 열거 타입 이름 [Week]
   MONDAY,
   TUESDAY,
   WEDNEDAY,
   THURSDAY,
   FRIDAY,
   SATURDAY,
   SUNDAY                // 열거 상수 목록 (한정된 값 목록 '요일')
}
public static void main(String[] args) {
  
   // 열거 타입 변수를 선언
   Week today = null;     // 열거 타입은 참조타입 (null 대입 가능)
   
   // 열거값 대입
   today = Week.THURSDAY; // 무조건 열거 타입의 값을 사용
   
   // 열거값을 비교
   if(today == Week.FRIDAY) {
   	   System.out.println("오늘은 금요일이 아닙니다.");
   } else {
        	System.out.println("불금 불금 불금.");
   }
// Week 변수값이 SUNDAY인지 비교하는 코드
Week today = Week.SUNDAY;
today == Week.SUNDAY

열거 변수의 값이 특정 열거 상수인지 비교할 때 ==, != 연산자를 사용한다.

반응형