Класс SetOfIntegerSyntax
- Все реализуемые интерфейсы:
Serializable, Cloneable
- Прямые известные подклассы:
CopiesSupported, JobImpressionsSupported, JobKOctetsSupported, JobMediaSheetsSupported, NumberUpSupported, PageRanges
public abstract class SetOfIntegerSyntax extends Object implements Serializable, Cloneable
SetOfIntegerSyntax — это абстрактный базовый класс, предоставляющий общую реализацию для всех атрибутов, значением которых является множество неотрицательных целых чисел. Сюда входят атрибуты, значением которых является один диапазон целых чисел, и атрибуты, значением которых является множество диапазонов целых чисел. Экземпляр SetOfIntegerSyntax можно создать, передав ему данные в «строковой форме». Строка состоит из нуля или более групп целых чисел, разделённых запятыми. Каждая группа целых чисел состоит либо из одного целого числа, либо из двух целых чисел, разделённых дефисом (-), либо из двух целых чисел, разделённых двоеточием (:). Каждое целое число состоит из одной или более десятичных цифр (от 0 до 9). Пробельные символы не могут встречаться внутри целого числа, но в остальных местах игнорируются. Например: "", "1", "5-10", "1:2, 4".
Экземпляр SetOfIntegerSyntax можно также создать, передав ему данные в «форме массива». Форма массива представляет собой массив из нуля или более групп целых чисел, где каждая группа целых чисел — это массив длины 1 или 2 из int; например, int[0][], int[][]{{1}}, int[][]{{5,10}}, int[][]{{1,2},{4}}.
И в строковой форме, и в форме массива каждая следующая группа целых чисел задаёт диапазон целых чисел, включаемых в множество. Первое целое число в каждой группе задаёт нижнюю границу диапазона; второе целое число в каждой группе задаёт верхнюю границу диапазона; если в группе только одно целое число, верхняя граница совпадает с нижней. Если верхняя граница меньше нижней, это обозначает null диапазон (без значений). Если верхняя граница равна нижней, это обозначает диапазон, состоящий из одного значения. Если верхняя граница больше нижней, это обозначает диапазон, состоящий более чем из одного значения. Диапазоны могут располагаться в любом порядке и могут пересекаться. Объединение всех диапазонов задаёт содержимое множества. После создания экземпляра SetOfIntegerSyntax его значение является неизменяемым.
Значение объекта SetOfIntegerSyntax фактически хранится в «канонической форме массива». Она совпадает с формой массива, за исключением того, что в ней нет диапазонов null; элементы множества представлены минимально возможным числом диапазонов (то есть пересекающиеся диапазоны объединены); диапазоны расположены в порядке возрастания; каждый диапазон всегда представлен в виде массива длины 2 из int в формате {нижняя граница, верхняя граница}. Пустое множество представлено массивом нулевой длины.
Класс SetOfIntegerSyntax предоставляет операции для получения элементов множества в канонической форме массива, проверки, входит ли заданное целое число в множество, и перебора элементов множества.
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт новый атрибут-множество целых чисел, содержащий одно целое число. |
|
protected |
Создаёт новый атрибут-множество целых чисел с заданными элементами в форме массива. |
|
protected |
Создаёт новый атрибут-множество целых чисел, содержащий один диапазон целых чисел. |
|
protected |
Создаёт новый атрибут-множество целых чисел с заданными элементами в строковой форме. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
contains |
Определяет, содержит ли этот атрибут-множество целых чисел заданное значение. |
boolean |
contains |
Определяет, содержит ли этот атрибут-множество целых чисел значение заданного целочисленного атрибута. |
boolean |
equals |
Возвращает признак эквивалентности этого атрибута-множества целых чисел переданному объекту. |
int[][] |
getMembers() |
Возвращает элементы этого атрибута-множества целых чисел в канонической форме массива. |
int |
hashCode() |
Возвращает хеш-код этого атрибута-множества целых чисел. |
int |
next |
Определяет наименьшее целое число в этом атрибуте-множестве целых чисел, которое больше заданного значения. |
String |
toString() |
Возвращает строковое представление этого атрибута-множества целых чисел. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API планируется удалить в будущей версии. Метод финализации устарел и планируется к удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени. |
Подробное описание конструкторов
SetOfIntegerSyntax
protected SetOfIntegerSyntax(String members)
- Параметры:
-
members— элементы множества в строковой форме. Еслиnull, создаётся пустое множество. - Исключения:
-
IllegalArgumentException— еслиmembersне соответствует требуемому синтаксису
SetOfIntegerSyntax
protected SetOfIntegerSyntax(int[][] members)
- Параметры:
-
members— элементы множества в форме массива. Еслиnull, создаётся пустое множество. - Исключения:
-
NullPointerException— если какой-либо элементmembersравенnull -
IllegalArgumentException— если какой-либо элементmembersне является массивом длины 1 или 2 либо если у какого-либо диапазонаnon-nullвmembersнижняя граница меньше нуля
SetOfIntegerSyntax
protected SetOfIntegerSyntax(int member)
- Параметры:
-
member— элемент множества - Исключения:
-
IllegalArgumentException— еслиmemberотрицательно
SetOfIntegerSyntax
protected SetOfIntegerSyntax(int lowerBound, int upperBound)
- Параметры:
-
lowerBound— нижняя граница диапазона -
upperBound— верхняя граница диапазона - Исключения:
-
IllegalArgumentException— если диапазонnon-nullиlowerBoundменьше нуля
Подробное описание методов
getMembers
public int[][] getMembers()
- Возвращает:
- элементы этого атрибута-множества целых чисел в канонической форме массива
contains
public boolean contains(int x)
- Параметры:
-
x— значение Integer - Возвращает:
-
true, если этот атрибут-множество целых чисел содержит значениеx, иfalseв противном случае
contains
public boolean contains(IntegerSyntax attribute)
- Параметры:
-
attribute— атрибут Integer - Возвращает:
-
true, если этот атрибут-множество целых чисел содержит значениеattribute, иfalseв противном случае
next
public int next(int x)
-1. (Поскольку атрибут-множество целых чисел может содержать только неотрицательные значения, -1 никогда не будет присутствовать в множестве.) Чтобы перебрать целочисленные значения атрибута-множества целых чисел в порядке возрастания, можно использовать метод next(), например:
SetOfIntegerSyntax attribute = . . .;
int i = -1;
while ((i = attribute.next (i)) != -1)
{
foo (i);
}
- Параметры:
-
x— значение Integer - Возвращает:
- наименьшее целое число в этом атрибуте-множестве целых чисел, которое больше
x, или-1, если в этом атрибуте-множестве целых чисел нет числа, большегоx.
equals
public boolean equals(Object object)
-
objectне являетсяnull. -
objectявляется экземпляром классаSetOfIntegerSyntax. - Элементы этого атрибута-множества целых чисел совпадают с элементами
object.
hashCode
toString
public String toString()
"i", если нижняя граница равна верхней, или "i-j" в противном случае.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.