Java에서 열거형 값을 통해 반복
- Java의 열거형(Enumeration)에 대한 간략한 소개
-
Java에서
for
루프를 사용하여 열거형 값을 통해 반복 -
Java에서
forEach
루프를 사용하여 열거형 값을 통해 반복 -
java.util.Stream
을 사용하여 열거형 값을 통해 반복 - 결론
이번 글에서는 자바에서 열거형(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
이 더 나은 옵션입니다.