in

Cómo funciona el método compare () en Java

gfg 200x200 min

Requisito previo: Interfaz de comparación en Java, TreeSet en Java
El método compare () en Java compara dos objetos específicos de clase (x, y) dados como parámetros. Devuelve el valor:

  • 0: si (x == y)
  • -1: si (x
  • 1: si (x> y)

Sintaxis:

public int compare(Object obj1, Object obj2)

donde obj1 y obj2 son los dos objetos a comparar usando el método compare ().

Ejemplo:

Para mostrar el funcionamiento del método compare () usando Integer Class.

Java

import java.lang.Integer;

class Gfg {

    

    public static void main(String args[])

    {

        int a = 10;

        int b = 20;

        

        

        System.out.println(Integer.compare(a, b));

        int x = 30;

        int y = 30;

        

        

        System.out.println(Integer.compare(x, y));

        int w = 15;

        int z = 8;

        

        

        System.out.println(Integer.compare(w, z));

    }

}

¿Cómo se evalúa el valor de retorno?

El funcionamiento interno del método compare () se puede visualizar con la ayuda del siguiente pseudocódigo:

Java

int intObj1 = (int)obj1;

int intObj2 = (int)obj2;

int difference = intObj1 - intObj2;

if (difference == 0) {

    

    return 0;

}

else if (difference < 0) {

    

    return -1;

}

else {

    

    return 1;

}

Visualizando el método compare () con este enfoque:

Java

import java.lang.Integer;

class Gfg {

    

    public static int compare(Object obj1, Object obj2)

    {

        

        

        int intObj1 = (int)obj1;

        int intObj2 = (int)obj2;

        

        int difference = intObj1 - intObj2;

        if (difference == 0) {

            

            return 0;

        }

        else if (difference < 0) {

            

            return -1;

        }

        else {

            

            return 1;

        }

    }

    

    public static void main(String args[])

    {

        int a = 10;

        int b = 20;

        

        

        System.out.println(compare(a, b));

        int x = 30;

        int y = 30;

        

        

        System.out.println(compare(x, y));

        int w = 15;

        int z = 8;

        

        

        System.out.println(compare(w, z));

    }

}

Varias posibles implementaciones del método compare ()

public int compare(Object obj1, Object obj2)
{
    Integer I1 = (Integer)obj1; // typecasting object type into integer type
    Integer I2 = (Integer)obj2; // same as above ..
    // 1.
    return I1.compareTo(I2); // ascending order [0, 5, 10, 15, 20]
    // 2.
    return -I1.compareTo(I2); // descending order [20, 15, 10, 5, 0]
    // 3.
    return I2.compareTo(I1); // descending order [20, 15, 10, 5, 0]
    // 4.
    return -I2.compareTo(I1); // ascending order [0, 5, 10, 15, 20]
    // 5.
    return +1; // insertion order [10, 0, 15, 5, 20, 20]
    // 6.
    return -1; // reverse of insertion order [20, 20, 5, 15, 0, 10]
    // 7.
    return 0; // only first element [10]
}

¡Atención lector! No dejes de aprender ahora. Hazte con todo lo importante Fundación Java y conceptos de colecciones con el Curso de Fundamentos de Java y Colecciones de Java a un precio asequible para los estudiantes y prepárese para la industria. Para completar su preparación desde el aprendizaje de un idioma hasta DS Algo y muchos más, consulte Curso completo de preparación para entrevistas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

apple touch icon@2

linux: mata la sesión de pantalla separada

edit

Marketing vs ventas: diferencia y comparación