Interface  Description 

AbelianGroup<T> 
The algebraic structure of an abelian group (or commutative group).

CommutativeMonoid<T> 
The algebraic structure of a commutative monoid (less common an 'abelian monoid'), meaning that the operation is
commutative and associative.

CommutativeSemigroup<T> 
The algebraic structure of a commutative semigroup, meaning that the operation of the semigroup is commutative and
associative.

FiniteStructure<T> 
An algebraic structure, which has a finite number of elements.

Group<T> 
Represents the algebraic structure of a group, which has with respect to a monoid the additional property that it
provides a unitary operation, which gives rise to inverse elements.

GrouplikeStructure<T> 
Marks a algebraic structure that is of grouplike type, aka it has one operation.

Magma<T> 
The algebraic structure of a Magma (or also called groupoid).

Monoid<T> 
Represents the algebraic structure of a Monoid, which extends a semigroup by having an identity element.

Semigroup<T> 
Represents the algebraic structure of a semigroup (the same as an associative magma).

Class  Description 

AbstractAbelianGroup<E> 