Class FastWeightedAutoRelation<W>

java.lang.Object
es.uam.eps.ir.relison.index.fast.FastWeightedRelation<W>
es.uam.eps.ir.relison.index.fast.FastWeightedAutoRelation<W>
Type Parameters:
W - Type of the weights.
All Implemented Interfaces:
AutoRelation<W>, Relation<W>

public class FastWeightedAutoRelation<W>
extends FastWeightedRelation<W>
implements AutoRelation<W>
Fast implementation for a weighted auto relation. Represented items have indexes between 0 and N-1, where N is the number of items.
  • Constructor Details

    • FastWeightedAutoRelation

      public FastWeightedAutoRelation()
      Constructor. Builds an empty autorelation.
    • FastWeightedAutoRelation

      public FastWeightedAutoRelation​(java.util.List<java.util.List<IdxValue<W>>> weightsList)
      Constructor. Builds an autorelation from previous information.
      Parameters:
      weightsList - List of weights.
  • Method Details

    • remove

      public boolean remove​(int idx)
      Description copied from interface: AutoRelation
      Removes an element. The identifiers of all remaining elements will be reduced by 1.
      Specified by:
      remove in interface AutoRelation<W>
      Parameters:
      idx - The identifier of the element.
      Returns:
      true if everything went OK, false otherwise.
    • getIsolated

      public java.util.stream.IntStream getIsolated()
      Description copied from interface: AutoRelation
      Obtains the elements in an autorelation which are related to none.
      Specified by:
      getIsolated in interface AutoRelation<W>
      Returns:
      an int stream containing the indexes of the items which are related to none.
    • firstsWithSeconds

      public java.util.stream.IntStream firstsWithSeconds()
      Description copied from interface: Relation
      Obtains the elements in first set with relations to the ones in the second.
      Specified by:
      firstsWithSeconds in interface Relation<W>
      Overrides:
      firstsWithSeconds in class FastWeightedRelation<W>
      Returns:
      the elements in first set with relations to the ones in the second.
    • secondsWithFirsts

      public java.util.stream.IntStream secondsWithFirsts()
      Description copied from interface: Relation
      Obtains the elements in second set with relations to the ones in the first.
      Specified by:
      secondsWithFirsts in interface Relation<W>
      Overrides:
      secondsWithFirsts in class FastWeightedRelation<W>
      Returns:
      the elements in second set with relations to the ones in the first.