Java에서 열거형 값을 통해 반복

Suraj P 2023년10월12일
  1. Java의 열거형(Enumeration)에 대한 간략한 소개
  2. Java에서 for 루프를 사용하여 열거형 값을 통해 반복
  3. Java에서 forEach 루프를 사용하여 열거형 값을 통해 반복
  4. java.util.Stream을 사용하여 열거형 값을 통해 반복
  5. 결론
Java에서 열거형 값을 통해 반복

이번 글에서는 자바에서 열거형(enumeration)을 반복하는 방법에 대해 알아보겠습니다.

Java의 열거형(Enumeration)에 대한 간략한 소개

Java 프로그래밍 언어에서 열거형은 상수 그룹을 나타내는 데 도움이 됩니다. 예를 들어, 태양계의 다른 행성은 행성이라는 열거형 유형에 속하는 수성, 금성, 지구, 화성, 목성 등으로 명명된 열거형일 수 있습니다.

열거형은 우리 자신의 데이터 유형, 즉 사용자 정의 데이터 유형을 정의하는 데 사용됩니다.

Java에서 enum은 enum 키워드를 사용하여 선언됩니다. C/C++와 달리 Java 열거형은 메서드, 생성자 및 변수를 추가할 수 있으므로 더 효율적입니다.

발생하는 일반적인 질문은 언제, 왜 사용해야 하는가입니다. 색상, 날짜, 요일, 행성 이름 등과 같이 사용할 값이 변경되지 않는다는 것을 알고 있을 때 열거형을 사용해야 합니다.

이제 열거형을 반복하는 다양한 방법을 살펴보겠습니다.

Java에서 for 루프를 사용하여 열거형 값을 통해 반복

Java의 모든 열거형은 java.lang.Enum 클래스를 암시적으로 확장합니다. 이 클래스에는 열거형 내의 모든 값을 반환하는 values() 메서드가 포함되어 있습니다.

이 메서드를 사용하여 열거형 값을 반복할 수 있습니다.

예제 코드:

import java.util.*;

public class Example {
  public enum Planets {
    MERCURY,
    VENUS,
    EARTH,
    MARS,
    JUPITER;
  }

  public static void main(String[] args) {
    Planets values[] = Planets.values();

    for (Planets obj : values) {
      System.out.println(obj + " is the " + obj.ordinal() + " planet in the solar system");
    }
  }
}

출력:

MERCURY is the 0 planet in the solar system
VENUS is the 1 planet in the solar system
EARTH is the 2 planet in the solar system
MARS is the 3 planet in the solar system
JUPITER is the 4 planet in the solar system

위의 코드에서 기본적으로 값을 명시적으로 지정하지 않았으므로 enum 상수에는 0부터 시작하는 값이 할당됩니다.

Java에서 forEach 루프를 사용하여 열거형 값을 통해 반복

Java 8부터 forEach() 메서드가 Iterable 인터페이스에 추가되었습니다. 따라서 Java의 모든 컬렉션 클래스에는 foreach() 메소드 구현이 있습니다.

이 메서드를 Enum과 함께 사용할 수 있지만 먼저 컬렉션으로 변환해야 합니다. 일반적인 방법 중 하나는 java.util.Arrays 클래스의 Arrays.asList() 메서드를 사용하는 것입니다.

이 메서드는 배열의 목록 보기를 제공합니다.

예제 코드:

import java.util.*;

public class Example {
  public enum Planets {
    MERCURY,
    VENUS,
    EARTH,
    MARS,
    JUPITER;
  }

  public static void main(String[] args) {
    Arrays.asList(Planets.values()).forEach(temp -> System.out.println(temp));
  }
}

출력:

MERCURY
VENUS
EARTH
MARS
JUPITER

java.util.Stream을 사용하여 열거형 값을 통해 반복

java.util.Stream을 사용하여 enum 값을 반복할 수 있습니다. 이를 위해 먼저 Stream.of() 메서드를 사용하여 enum.values() 스트림을 생성합니다.

Stream.of() 함수에 매개변수로 enum.values()를 전달합니다.

예제 코드:

import java.util.stream.*;

public class Example {
  public enum Planets {
    MERCURY,
    VENUS,
    EARTH,
    MARS,
    JUPITER;
  }

  public static void main(String[] args) {
    Stream.of(Planets.values()).forEach(System.out::println);
  }
}

출력:

MERCURY
VENUS
EARTH
MARS
JUPITER

결론

이 기사에서는 Java에서 for 루프, forEach 루프 및 Stream을 사용하여 열거형을 반복하는 다양한 방법을 설명했습니다. 이러한 방법을 사용하여 반복할 수 있지만 병렬 작업을 처리할 때는 Stream이 더 나은 옵션입니다.

작가: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

관련 문장 - Java Enum