SetOfIntegerSyntax

SetOfIntegerSyntax (정수 집합 구문)

값이 음이 아닌 정수들의 집합인 모든 속성의 공통 구현을 제공하는 추상 기본 클래스예요. 여기에는 값이 정수 하나의 범위인 속성과 정수 범위들의 집합인 속성이 모두 포함돼요.

출처: Java API Reference

본문

SetOfIntegerSyntax 인스턴스는 "문자열 형태"로 만들 수 있어요. 문자열은 쉼표로 구분된 0개 이상의 정수 그룹으로 구성되며, 각 그룹은 정수 하나, 하이픈(-)으로 구분된 정수 두 개, 또는 콜론(:)으로 구분된 정수 두 개 중 하나예요. 예를 들어 "", "1", "5-10", "1:2, 4" 같은 형태예요.

또한 "배열 형태"로도 만들 수 있어요. 배열 형태는 0개 이상의 정수 그룹으로 이루어진 배열이며, 각 그룹은 길이 1 또는 2인 int[]예요. 예를 들어 int[][]{{1}}, int[][]{{5,10}}, int[][]{{1,2},{4}} 같은 형태예요.

protected SetOfIntegerSyntax(String members)
protected SetOfIntegerSyntax(int[][] members)
protected SetOfIntegerSyntax(int member)
protected SetOfIntegerSyntax(int lowerBound, int upperBound)

각 그룹의 첫 정수는 범위의 하한, 둘째 정수는 상한을 의미해요. 상한이 하한보다 작으면 빈 범위, 같으면 단일 값 범위, 크면 여러 값을 포함하는 범위예요. 범위는 어떤 순서로도 나타날 수 있고 겹치는 것도 허용돼요. 일단 구성되면 값은 불변(immutable)이에요.

public int[][] getMembers()
public boolean contains(int x)
public int next(int x)

getMembers()는 정규 배열 형태를, contains(int)는 특정 값 포함 여부를, next(int)는 주어진 값보다 크거나 같은 다음 멤버를 반환해요.

더 알아보기 (Learn more)

Java 공식 API