Module xyz.cofe.ecolls
Package xyz.cofe.collection
Class Bijection<X extends Comparable,Y extends Comparable>
- java.lang.Object
-
- xyz.cofe.collection.Bijection<X,Y>
-
- Type Parameters:
X- Тип значений xY- Тип значений y
public class Bijection<X extends Comparable,Y extends Comparable> extends Object
Карта биективного отображения.Каждый элемент x из X сопоставляется только один элемент y из Y,
и соответсвенно есть обратное отображение: Каждый элемент x из X сопоставляется только один элемент y из Y.Examples X множество ← → Y множество x1 ← → ya x2 ← → yb x3 ← → yc x4 ← → yd
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBijection.ResolveDuplicateМетод разрешения дупликатовstatic classBijection.ResolveNullМетод разрешения null ссылокclassBijection.UpdateОбновление ассоциаций
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidassign(Bijection<X,Y> sample)Копирование данных согласно указанной картеvoidclear()Удаление всех значенийBijection<X,Y>clone()Клонирование картыvoideachXY(BiConsumer<X,Y> reciver)Обход всех пар x,ySet<Pair<X,Y>>getEntries()Возвращает копию пар x,yXgetXbyY(Y y)Получение асоциации по значениюXgetXMax()Получение максимального значения xXgetXMin()Получение минимального значения xNavigableSet<X>getXSet()Получение значений xYgetYbyX(X x)Получение асоциации по значениюYgetYMax()Получение максимаьлного значения yYgetYMin()Получение минимального значения yNavigableSet<Y>getYSet()Получение значений ybooleanhasX(X x)Проверка наличия ассоциацииbooleanhasY(Y y)Проверка наличия ассоциацииLinkedHashSet<Pair<X,Y>>removeX(Iterable<X> itr)Удаление ассоциацииLinkedHashSet<Pair<X,Y>>removeX(X x)Удаление ассоциацииLinkedHashSet<Pair<X,Y>>removeY(Iterable<Y> itr)Удаление ассоциацииLinkedHashSet<Pair<X,Y>>removeY(Y y)Удаление ассоциацииLinkedHashSet<Pair<X,Y>>setXY(Iterable<Pair<X,Y>> itr)Установка значений пар x,yLinkedHashSet<Pair<X,Y>>setXY(X x, Y y)Установка значения пары x,yLinkedHashSet<Pair<X,Y>>setXYMap(Map<X,Y> itr)Установка значений пар x,yLinkedHashSet<Pair<X,Y>>setXYMapEntries(Iterable<Map.Entry<X,Y>> itr)Установка значений пар x,yintsize()Кол-во значений в картеBijection.Updateupdate()Обновление ассоциацийBijection.Updateupdate(BiFunction<X,Y,Pair<X,Y>> fn)Обновление ассоциаций.Bijection.Updateupdate(BiFunction<X,Y,Pair<X,Y>> fn, boolean strong)Обновление ассоциацийYx(X x)Получение асоциации по значениюXy(Y y)Получение асоциации по значению
-
-
-
Field Detail
-
sync
protected final Object sync
-
xToYmap
protected final TreeMap<X extends Comparable,Y extends Comparable> xToYmap
-
yToXmap
protected final TreeMap<Y extends Comparable,X extends Comparable> yToXmap
-
-
Method Detail
-
eachXY
public void eachXY(BiConsumer<X,Y> reciver)
Обход всех пар x,y- Parameters:
reciver- потребитель
-
setXY
public LinkedHashSet<Pair<X,Y>> setXY(X x, Y y)
Установка значения пары x,y- Parameters:
x- значениеy- значение- Returns:
- Старые значения
-
setXY
public LinkedHashSet<Pair<X,Y>> setXY(Iterable<Pair<X,Y>> itr)
Установка значений пар x,y- Parameters:
itr- пары x,y- Returns:
- замененные значения
-
setXYMapEntries
public LinkedHashSet<Pair<X,Y>> setXYMapEntries(Iterable<Map.Entry<X,Y>> itr)
Установка значений пар x,y- Parameters:
itr- пары x,y- Returns:
- замененные значения
-
setXYMap
public LinkedHashSet<Pair<X,Y>> setXYMap(Map<X,Y> itr)
Установка значений пар x,y- Parameters:
itr- пары x,y- Returns:
- замененные значения
-
removeX
public LinkedHashSet<Pair<X,Y>> removeX(X x)
Удаление ассоциации- Parameters:
x- значение- Returns:
- удаленная пара
-
removeX
public LinkedHashSet<Pair<X,Y>> removeX(Iterable<X> itr)
Удаление ассоциации- Parameters:
itr- значения- Returns:
- удаленная пара
-
removeY
public LinkedHashSet<Pair<X,Y>> removeY(Y y)
Удаление ассоциации- Parameters:
y- значения- Returns:
- удаленная пара
-
removeY
public LinkedHashSet<Pair<X,Y>> removeY(Iterable<Y> itr)
Удаление ассоциации- Parameters:
itr- значения- Returns:
- удаленная пара
-
size
public int size()
Кол-во значений в карте- Returns:
- кол-во
-
clear
public void clear()
Удаление всех значений
-
hasX
public boolean hasX(X x)
Проверка наличия ассоциации- Parameters:
x- значение- Returns:
- true - есть парное значение
-
hasY
public boolean hasY(Y y)
Проверка наличия ассоциации- Parameters:
y- значение- Returns:
- true - есть парное значение
-
getXSet
public NavigableSet<X> getXSet()
Получение значений x- Returns:
- значения
-
getYSet
public NavigableSet<Y> getYSet()
Получение значений y- Returns:
- значения
-
getXMin
public X getXMin()
Получение минимального значения x- Returns:
- минимальное значение
-
getXMax
public X getXMax()
Получение максимального значения x- Returns:
- максимальное значение
-
getYMin
public Y getYMin()
Получение минимального значения y- Returns:
- минимальное значение
-
getYMax
public Y getYMax()
Получение максимаьлного значения y- Returns:
- максимальное значение
-
getYbyX
public Y getYbyX(X x)
Получение асоциации по значению- Parameters:
x- значение- Returns:
- ассоциированное значение
-
x
public Y x(X x)
Получение асоциации по значению- Parameters:
x- значение- Returns:
- ассоциированное значение
-
getXbyY
public X getXbyY(Y y)
Получение асоциации по значению- Parameters:
y- значение- Returns:
- ассоциированное значение
-
y
public X y(Y y)
Получение асоциации по значению- Parameters:
y- значение- Returns:
- ассоциированное значение
-
update
public Bijection.Update update()
Обновление ассоциаций- Returns:
- обновление
-
update
public Bijection.Update update(BiFunction<X,Y,Pair<X,Y>> fn, boolean strong)
Обновление ассоциаций- Parameters:
fn- функция ассоциацииstrong- метод проверки ошибок true -Bijection.Update.strong()/ false -Bijection.Update.simple()- Returns:
- обновление
-
update
public Bijection.Update update(BiFunction<X,Y,Pair<X,Y>> fn)
Обновление ассоциаций. Метод проверки ошибокBijection.Update.strong()- Parameters:
fn- функция ассоциации- Returns:
- обновление
-
assign
public void assign(Bijection<X,Y> sample)
Копирование данных согласно указанной карте- Parameters:
sample- образец для копирования
-
-