Module xyz.cofe.ecolls
Package xyz.cofe.collection
Interface IndexSet<A extends java.lang.Comparable<A>>
- Type Parameters:
A- Тип элементов в множестве
- All Known Implementing Classes:
IndexSetBasic
public interface IndexSet<A extends java.lang.Comparable<A>>
Список содежащий уникальные элементы, отсортированные в порядке возрастания
-
Method Summary
Modifier and Type Method Description intadd(A a)Добавление элемента в списокvoidadd(java.lang.Iterable<A> adds, java.util.function.BiConsumer<java.lang.Integer,A> added)Добавление элементов в списокvoidadd(IndexSet<A> adds, java.util.function.BiConsumer<java.lang.Integer,A> added)Добавление элементов в списокIndexSet<A>append(A... a)Добавление элемента в списокvoidclear()Удалениеvoideach(java.util.function.Consumer<A> iter)Обход элементов в спискеvoideachByIndex(int begin, int endEx, java.util.function.BiConsumer<java.lang.Integer,A> consumer)Обход элементов в спискеvoideachByValue(A begin, boolean incBegin, A end, boolean incEnd, java.util.function.BiConsumer<java.lang.Integer,A> consumer)Обход элементов в спискеvoideachByValue(A begin, boolean incBegin, A end, boolean incEnd, QuadConsumer<java.lang.Integer,A,java.lang.Integer,java.lang.Integer> consumer)Обход элементов в спискеbooleanexists(A a)Проверка наличия элемента в спискеAget(int idx)Получение элемента по его индексуPair<java.lang.Integer,A>headEntry(A a, boolean strong, int begin, int endEx)Поиск головы, где искомое_значения <= aintindexOf(A a)Получение идекса элементаAmax()Возвращат максимальное значениеAmin()Возвращат минимальное значениеPair<A,A>minMax()Возвращает диапазон (мин/макс) значенийintremove(A a)Удаление элементаvoidremove(java.lang.Iterable<A> removes, java.util.function.BiConsumer<java.lang.Integer,A> removed)Удаление элементов из списокаvoidremove(IndexSet<A> removes, java.util.function.BiConsumer<java.lang.Integer,A> removed)Удаление элементов из списокаAremoveByIndex(int idx)Удаляет элемент по его индексуintsize()Кол-во элементовjava.util.stream.Stream<Pair<A,java.lang.Integer>>stream()Получение потока/stream-а значенийPair<java.lang.Integer,A>tailEntry(A a, boolean strong, int begin, int endEx)Поиск хвоста, где искомое_значения >= a
-
Method Details
-
size
int size()Кол-во элементов- Returns:
- Кол-во элементов
-
get
Получение элемента по его индексу- Parameters:
idx- индекс- Returns:
- Элемент
-
exists
Проверка наличия элемента в списке- Parameters:
a- элемент- Returns:
- true - существует
-
indexOf
Получение идекса элемента- Parameters:
a- элемент- Returns:
- индекс (0 и более) или -1 отсуствие
-
tailEntry
Поиск хвоста, где искомое_значения >= a- Parameters:
a- значение с которым производится сравнениеstrong- строгое сравнение:
true - искомое_значения > a
false - искомое_значения >= abegin- начальный индекс с которого производить поискendEx- коненый индекс, по который исключительно производить поиск- Returns:
- начало хвоста или null
-
headEntry
Поиск головы, где искомое_значения <= a- Parameters:
a- значение с которым производится сравнениеstrong- строгое сравнение:
true - искомое_значения < a
false - искомое_значения <= abegin- начальный индекс с которого производить поискendEx- коненый индекс, по который исключительно производить поиск- Returns:
- конец головы или null
-
each
Обход элементов в списке- Parameters:
iter- итератор
-
stream
Получение потока/stream-а значений- Returns:
- поток значение/индекс
-
eachByIndex
void eachByIndex(int begin, int endEx, java.util.function.BiConsumer<java.lang.Integer,A> consumer)Обход элементов в списке- Parameters:
begin- С какого индекса начатьendEx- По какой исключительно закнчитьconsumer- Функция fn(index,item):any принимающая значения
-
eachByValue
void eachByValue(A begin, boolean incBegin, A end, boolean incEnd, QuadConsumer<java.lang.Integer,A,java.lang.Integer,java.lang.Integer> consumer)Обход элементов в списке- Parameters:
begin- С какого элемента начатьincBegin- Включить элемент в списокend- До какого элемента продолжитьincEnd- Включить конечный элемент в списокconsumer- Функция принимающая значения:
fn(index,item,visitIndex,visitSize):any,где:
index - индекс элемента в списке
item - элемент в списке
visitIndex - индекс в выборке
visitSize - Объем вборки
-
eachByValue
void eachByValue(A begin, boolean incBegin, A end, boolean incEnd, java.util.function.BiConsumer<java.lang.Integer,A> consumer)Обход элементов в списке- Parameters:
begin- С какого элемента начатьincBegin- Включить элемент в списокend- До какого элемента продолжитьincEnd- Включить конечный элемент в списокconsumer- Функция принимающая значения:
fn(index,item):any,где:
index - индекс элемента в списке
item - элемент в списке
-
add
Добавление элемента в список- Parameters:
a- элемент- Returns:
- индекс элемента
-
append
Добавление элемента в список- Parameters:
a- элементы- Returns:
- self ссылка
-
add
Добавление элементов в список- Parameters:
adds- элементыadded- добавленные элементы
-
add
Добавление элементов в список- Parameters:
adds- элементыadded- добавленные элементы
-
remove
Удаление элемента- Parameters:
a- элемент- Returns:
- индекс удаленного элемента
-
remove
void remove(java.lang.Iterable<A> removes, java.util.function.BiConsumer<java.lang.Integer,A> removed)Удаление элементов из списока- Parameters:
removes- элементыremoved- удаленные элементы
-
remove
Удаление элементов из списока- Parameters:
removes- элементыremoved- удаленные элементы
-
removeByIndex
Удаляет элемент по его индексу- Parameters:
idx- индекс- Returns:
- Удаленный элемент
-
clear
void clear()Удаление -
minMax
Возвращает диапазон (мин/макс) значений- Returns:
- диапазон или null, если список пуст
-
min
A min()Возвращат минимальное значение- Returns:
- минимальное значение
-
max
A max()Возвращат максимальное значение- Returns:
- максимальное значение
-