Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 열거형(Enum)을 반복 처리하는 방법

이 글에서는 Java에서 열거형(Enum) 객체를 반복 처리하는 방법에 대해 알아보겠습니다. 열거형은 서로 관련된 상수들을 하나의 이름 아래 묶어 관리할 수 있는 특수한 데이터 타입으로, 고정된 값들의 집합을 표현할 때 유용하게 사용됩니다.

아래에서 구체적인 구현 방법을 살펴보겠습니다.

입력 및 출력 예시

입력

입력값이 다음과 같다고 가정해 보겠습니다.

열거형 객체 정의: red, blue, green, yellow, orange

출력

원하는 출력 결과는 다음과 같습니다.

객체 출력:
red
blue
green
yellow
orange

알고리즘

1단계 – 시작
2단계 – red, blue, green, yellow, orange라는 이름의 열거형 상수를 선언합니다.
3단계 – for 루프를 사용하여 열거형의 각 상수를 순회하며 하나씩 출력합니다.
4단계 – 종료

예제 1: values() 메서드로 열거형 순회하기

가장 기본적인 방법은 values() 메서드를 활용하는 것입니다. 이 메서드는 열거형에 정의된 모든 상수를 배열 형태로 반환하므로, 향상된 for 문으로 손쉽게 순회할 수 있습니다.

enum Enum {
   red, blue, green, yellow, orange;
}
public class Colour {
   public static void main(String[] args) {
      System.out.println("열거형의 값들은 미리 정의되어 있습니다.");
      System.out.println("각 열거형 상수에 접근합니다");
      for(Enum colours : Enum.values()) {
         System.out.print(colours + "\n");
      }
   }
}

실행 결과

열거형의 값들은 미리 정의되어 있습니다.
각 열거형 상수에 접근합니다
red
blue
green
yellow
orange

예제 2: EnumSet으로 요일 출력하기

다음은 일주일의 요일을 출력하는 예제입니다. EnumSet.allOf() 메서드와 람다식을 함께 사용하면 더욱 간결하게 열거형 전체를 순회할 수 있습니다.

import java.util.EnumSet;
enum Days {
   Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday
}
public class IterateEnum{
   public static void main(String args[]) {
      Days my_days[] = Days.values();
      System.out.println("열거형의 값들:");
      EnumSet.allOf(Days.class).forEach(day -> System.out.println(day));
   }
}

실행 결과

열거형의 값들:
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

정리

지금까지 두 가지 방법으로 열거형을 반복 처리하는 방법을 살펴보았습니다. values() 메서드는 배열을 반환하기 때문에 인덱스 기반 접근이 필요할 때 유용하고, EnumSet은 Set 연산(필터링, 범위 지정 등)이 필요할 때 강력한 성능을 발휘합니다. 상황에 맞는 방법을 선택하여 코드의 가독성과 효율성을 높여 보시기 바랍니다.