Package weka.core

Class InstanceComparator

  • All Implemented Interfaces:
    java.io.Serializable, java.util.Comparator, RevisionHandler

    public class InstanceComparator
    extends java.lang.Object
    implements java.util.Comparator, java.io.Serializable, RevisionHandler
    A comparator for the Instance class. it can be used with or without the class label. Missing values are sorted at the beginning.
    Can be used as comparator in the sorting and binary search algorithms of Arrays and Collections. Relational values are compared instance by instance with a nested InstanceComparator.
    Version:
    $Revision: 7988 $
    Author:
    FracPete (fracpete at cs dot waikato dot ac dot nz)
    See Also:
    Instance, Arrays, Collections, Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      InstanceComparator()
      initializes the comparator and includes the class in the comparison
      InstanceComparator​(boolean includeClass)
      initializes the comparator
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int compare​(java.lang.Object o1, java.lang.Object o2)
      compares the two instances, returns -1 if o1 is smaller than o2, 0 if equal and +1 if greater.
      boolean getIncludeClass()
      returns TRUE if the class is included in the comparison
      java.lang.String getRevision()
      Returns the revision string.
      static void main​(java.lang.String[] args)
      for testing only.
      void setIncludeClass​(boolean includeClass)
      sets whether the class should be included (= TRUE) in the comparison
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Comparator

        equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
    • Constructor Detail

      • InstanceComparator

        public InstanceComparator()
        initializes the comparator and includes the class in the comparison
      • InstanceComparator

        public InstanceComparator​(boolean includeClass)
        initializes the comparator
    • Method Detail

      • setIncludeClass

        public void setIncludeClass​(boolean includeClass)
        sets whether the class should be included (= TRUE) in the comparison
        Parameters:
        includeClass - whether to include the class in the comparison
      • getIncludeClass

        public boolean getIncludeClass()
        returns TRUE if the class is included in the comparison
      • compare

        public int compare​(java.lang.Object o1,
                           java.lang.Object o2)
        compares the two instances, returns -1 if o1 is smaller than o2, 0 if equal and +1 if greater. The method assumes that both instance objects have the same attributes, they don't have to belong to the same dataset.
        Specified by:
        compare in interface java.util.Comparator
        Parameters:
        o1 - the first instance to compare
        o2 - the second instance to compare
        Returns:
        returns -1 if o1 is smaller than o2, 0 if equal and +1 if greater
      • getRevision

        public java.lang.String getRevision()
        Returns the revision string.
        Specified by:
        getRevision in interface RevisionHandler
        Returns:
        the revision
      • main

        public static void main​(java.lang.String[] args)
                         throws java.lang.Exception
        for testing only. takes an ARFF-filename as first argument to perform some tests.
        Throws:
        java.lang.Exception