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

Java에서 for 루프로 열거형(Enum) 값 반복하는 방법

Java에서 열거형(Enumeration, Enum)은 이름이 지정된 상수들의 집합을 나타냅니다. 열거형은 다음과 같은 문법으로 생성할 수 있습니다.

enum Days {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

열거형의 내용을 가져오려면 values() 메서드를 사용합니다. 이 메서드는 해당 열거형에 포함된 모든 상수 값을 담고 있는 배열을 반환합니다. 배열을 얻은 후에는 for 루프(향상된 for문)를 사용하여 각 요소를 순회할 수 있습니다.

예제 1: 기본적인 열거형 반복

public class IterateEnum{
    public static void main(String args[]) {
        Days days[] = Days.values();
        System.out.println("열거형의 내용: ");
        // for 루프를 사용한 열거형 반복
        for(Days day: days) {
            System.out.println(day);
        }
    } 
}

실행 결과

열거형의 내용:
SUNDAY
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY

예제 2: 변수와 메서드를 포함한 열거형 반복

열거형은 단순한 상수 목록뿐만 아니라 인스턴스 변수, 생성자, 메서드도 가질 수 있습니다. 아래 예제는 이러한 요소들을 포함한 열거형을 for 루프로 순회하고, 특정 상수의 메서드를 호출하는 방법을 보여줍니다.

enum Vehicles {
    // 열거형 상수 선언
    ACTIVA125, ACTIVA5G, ACCESS125, VESPA, TVSJUPITER;
    int i; // 인스턴스 변수
    Vehicles() { // 생성자
    } 
    public void enumMethod() { // 메서드
        System.out.println("현재 값: "+Vehicles.this);
    }
}
public class Sam{
    public static void main(String args[]) {
        Vehicles vehicles[] = Vehicles.values();
        for(Vehicles veh: vehicles) {
            System.out.println(veh);
        }
        vehicles[3].enumMethod();
    } 
}

실행 결과

ACTIVA125
ACTIVA5G
ACCESS125
VESPA
TVSJUPITER
현재 값: VESPA

핵심 정리

  • values() 메서드는 열거형의 모든 상수를 배열 형태로 반환합니다.
  • 반환된 배열은 향상된 for문(for-each)으로 손쉽게 순회할 수 있습니다.
  • 배열 인덱스를 이용하면 특정 상수에 직접 접근하여 메서드를 호출하는 것도 가능합니다.