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