Класс SetOfIntegerSyntax
- java.lang.Object
-
- javax.print.attribute.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}}.
В обеих форматах (строковой и массиве) каждая последующая группа целых чисел определяет диапазон целых чисел, которые должны быть включены в множество. Первое целое число в каждой группе задаёт нижнюю границу диапазона; второе целое число в каждой группе задаёт верхнюю границу диапазона; если в группе только одно целое число, верхняя граница совпадает с нижней. Если верхняя граница меньше нижней, это обозначает пустой диапазон (нет значений). Если верхняя граница равна нижней, это обозначает диапазон, состоящий из одного значения. Если верхняя граница больше нижней, это обозначает диапазон, состоящий из более чем одного значения. Диапазоны могут располагаться в любом порядке и могут перекрываться. Объединение всех диапазонов даёт содержимое множества. После создания экземпляра SetOfIntegerSyntax его значение неизменно.
Значение объекта SetOfIntegerSyntax фактически хранится в «канонической» форме массива. Это то же самое, что и форма массива, за исключением того, что нет пустых диапазонов; элементы множества представлены как можно меньшим количеством диапазонов (то есть перекрывающиеся диапазоны сливаются); диапазоны упорядочены по возрастанию; и каждый диапазон всегда представлен массивом длины два целых int в виде {нижняя граница, верхняя граница}. Пустое множество представлено массивом нулевой длины.
Класс SetOfIntegerSyntax имеет операции для возвращения элементов множества в канонической форме массива, для проверки, является ли данное целое число элементом множества, и для итерации по элементам множества.
- См. также:
- Справочная информация о сериализации
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
SetOfIntegerSyntax(int member) Создаёт новый атрибут множества целых чисел, содержащий одно целое число. |
protected |
SetOfIntegerSyntax(int[][] members) Создаёт новый атрибут множества целых чисел с заданными элементами в виде массива. |
protected |
SetOfIntegerSyntax(int lowerBound,
int upperBound) Создаёт новый атрибут множества целых чисел, содержащий один диапазон целых чисел. |
protected |
SetOfIntegerSyntax(String members) Создаёт новый атрибут множества целых чисел с заданными элементами в строковой форме. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
contains(int x) Определяет, содержит ли данный атрибут множества целых чисел заданное значение. |
boolean |
contains(IntegerSyntax attribute) Определяет, содержит ли данный атрибут множества целых чисел значение заданного атрибута целого числа. |
boolean |
equals(Object object) Возвращает, эквивалентен ли этот атрибут множества целых чисел переданному объекту. |
int[][] |
getMembers() Получает элементы этого атрибута множества целых чисел в канонической форме массива. |
int |
hashCode() Возвращает хеш-код для этого атрибута множества целых чисел. |
int |
next(int x) Определяет наименьшее целое число в этом атрибуте множества целых чисел, которое больше заданного значения. |
String |
toString() Возвращает строковое значение, соответствующее этому атрибуту множества целых чисел. |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Конструкторы
SetOfIntegerSyntax
protected SetOfIntegerSyntax(String members)
Создаёт новый атрибут типа «множество целых чисел» с заданными элементами в строковом формате.
- Параметры:
-
members- Элементы множества в строковом формате. Если null, то создаётся пустое множество. - Исключения:
-
IllegalArgumentException- (Исключение, не проверяемое во время выполнения) Выбрасывается, еслиmembersне соответствует правильному синтаксису.
SetOfIntegerSyntax
protected SetOfIntegerSyntax(int[][] members)
Создаёт новый атрибут типа «множество целых чисел» с заданными элементами в формате массива.
- Параметры:
-
members- Элементы множества в формате массива. Если null, то создаётся пустое множество. - Исключения:
-
NullPointerException- (Исключение, не проверяемое во время выполнения) Выбрасывается, если какой-либо элемент вmembersимеет значение null. -
IllegalArgumentException- (Исключение, не проверяемое во время выполнения) Выбрасывается, если какой-либо элемент вmembersне является массивом длиной 1 или 2, или если у любого ненулевого диапазона вmembersнижняя граница меньше нуля.
SetOfIntegerSyntax
protected SetOfIntegerSyntax(int member)
Создаёт новый атрибут типа «множество целых чисел», содержащий единственное целое число.
- Параметры:
-
member- Элемент множества. - Исключения:
-
IllegalArgumentException- (Исключение, не проверяемое во время выполнения) Выбрасывается, еслиmemberменьше нуля.
SetOfIntegerSyntax
protected SetOfIntegerSyntax(int lowerBound,
int upperBound) Создаёт новый атрибут типа «множество целых чисел», содержащий один диапазон целых чисел. Если нижняя граница больше верхней границы (пустой диапазон), то создаётся пустое множество.
- Параметры:
-
lowerBound- Нижняя граница диапазона. -
upperBound- Верхняя граница диапазона. - Исключения:
-
IllegalArgumentException- (Исключение, не проверяемое во время выполнения) Выбрасывается, если диапазон не пустой иlowerBoundменьше нуля.
Методы
getMembers
public int[][] getMembers()
Получает элементы этого атрибута «множество целых чисел» в каноническом формате массива. Возвращаемый массив «безопасен»; клиент может его изменить без влияния на этот атрибут «множество целых чисел».
- Возвращает:
- Элементы этого атрибута «множество целых чисел» в каноническом формате массива.
contains
public boolean contains(int x)
Определяет, содержит ли этот атрибут «множество целых чисел» заданное значение.
- Параметры:
-
x- Целочисленное значение. - Возвращает:
- True, если этот атрибут «множество целых чисел» содержит значение
x, иначе false.
contains
public boolean contains(IntegerSyntax attribute)
Определяет, содержит ли этот атрибут «множество целых чисел» значение заданного целочисленного атрибута.
- Параметры:
-
attribute- Целочисленный атрибут. - Возвращает:
- True, если этот атрибут «множество целых чисел» содержит значение
theAttribute, иначе false.
next
public int next(int x)
Определяет наименьшее целое число в этом атрибуте «множество целых чисел», которое больше заданного значения. Если в этом атрибуте «множество целых чисел» нет целых чисел, больших заданного значения, возвращается -1. (Так как атрибут «множество целых чисел» может содержать только неотрицательные значения, -1 никогда не появится в множестве.) Вы можете использовать метод next() для итерации по целочисленным значениям в атрибуте «множество целых чисел» в порядке возрастания, например так:
SetOfIntegerSyntax attribute = . . .;
int i = -1;
while ((i = attribute.next (i)) != -1)
{
foo (i);
} - Параметры:
-
x- Целочисленное значение. - Возвращает:
- Наименьшее целое число в этом атрибуте «множество целых чисел», которое больше
x, или-1, если целых чисел в этом атрибуте «множество целых чисел», большихx, нет.
equals
public boolean equals(Object object)
Возвращает значение true, если этот атрибут «множество целых чисел» эквивалентен переданному объекту. Для эквивалентности должны быть выполнены все следующие условия:
-
objectне null. -
objectявляется экземпляром класса SetOfIntegerSyntax. - Элементы этого атрибута «множество целых чисел» и элементы
objectсовпадают.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
object- Объект для сравнения. - Возвращает:
- True, если
objectэквивалентен этому атрибуту «множество целых чисел», иначе false. - См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает хэш-код для этого атрибута «множество целых чисел». Хэш-код — это сумма нижней и верхней границ диапазонов в каноническом формате массива или 0 для пустого множества.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- хэш-код этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
Возвращает строковое значение, соответствующее этому атрибуту «множество целых чисел». Строковое значение — это строка нулевой длины, если множество пустое. В противном случае строковое значение — это список диапазонов в каноническом формате массива, разделённый запятыми, где каждый диапазон представлен как "i" если нижняя граница равна верхней границе или "i-j" в противном случае.
© 1993, 2020, 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.