Ordenar Java Vector en orden descendente usando Comparator

Vector paquete java.util Enumere los

Hay dos tipos de técnicas de Clasificación:

  • La primera es la clasificación interna, es decir, que utiliza el método de clasificación predefinido en orden ascendente Arrays.sort() para arrays de clases Primitivas y arrays de clases contenedoras y   Collections.sort() para colecciones , ambos métodos clasifican los elementos en orden ascendente.
  • La segunda técnica es pasar el comparador o implementar la interfaz del comparador en la clase como segundo argumento en ambos métodos y cambiar la clasificación según los requisitos. Comparator solo funciona para arrays de tipo de clase contenedora y para colecciones como vector, ArrayList, etc.

Aporte:

vector [4,3,2,6,7]

Producción:

vector [2,3,4,6,7]

Enfoques para ordenar el vector en orden descendente usando Comparator:

  1. Implemente la interfaz del comparador en la clase y cambie el orden natural de los elementos.
  2. Llame directamente al nuevo comparador en el segundo argumento del método Collections.sort() y cambie el orden del elemento

Ejemplo 1: anular el método de comparación dentro de la clase que implementa la clase Comparator y luego crear y pasar el objeto de esa clase como un segundo parámetro mientras se llama al método Collections.sort().

Java

// Java program to Sort Java Vector in
// descending order using comparator
 
import java.io.*;
import java.util.*;
 
// Implement comparator of the Integer class
class GFG implements Comparator<Integer>
{
    // Function to print the elements of the vector
    static void print(Vector<Integer> Numbers)
    {
        for (Integer number : Numbers)
        {
            // Printing the elements
            System.out.print(number + " ");
        }
    }
 
    public static void main(String[] args)
    {
        // Implementing the vector class
        Vector<Integer> elements = new Vector<>();
 
        // Adding elements in the vector class
        elements.add(4);
        elements.add(3);
        elements.add(2);
        elements.add(6);
        elements.add(7);
 
        // Before sorting the elements
        System.out.print("Before sorting elements ");
 
        print(elements);
 
        System.out.println();
 
        // Sorting the vector elements in descending
        // order
        Collections.sort(elements, new GFG());
 
        System.out.print("After sorting elements ");
 
        // Printing the elements
        print(elements);
    }
 
    // Implementing compare function
    @Override public int compare(Integer o1, Integer o2)
    {
        // Changing the order of the elements
        return o2 - o1;
    }
}
Producción

Before sorting elements 4 3 2 6 7 
After sorting elements 7 6 4 3 2

Ejemplo 2: anular la función de comparación en el momento de llamar al método Collections.sort() allí mismo.

Java

// Java program to Sort Java Vector in
// descending order using comparator
 
import java.io.*;
import java.util.*;
 
class GFG {
 
    // Function to print the elements of the vector
    static void print(Vector<Integer> Numbers)
    {
        for (Integer number : Numbers) {
            // Printing the elements
            System.out.print(number + " ");
        }
    }
 
    public static void main(String[] args)
    {
        // Implementing the vector class
        Vector<Integer> elements = new Vector<>();
 
        // Adding elements in the vector class
        elements.add(4);
        elements.add(3);
        elements.add(2);
        elements.add(6);
        elements.add(7);
 
        // Before sorting the elements
        System.out.print("Before sorting elements ");
 
        print(elements);
        System.out.println();
 
        // Sorting the vector elements in descending
        // order
        Collections.sort(
            elements, new Comparator<Integer>() {
                @Override
                public int compare(Integer o1, Integer o2)
                {
                    // Changing the order of the elements
                    return o2 - o1;
                }
            });
 
        System.out.print("After sorting elements ");
 
        // Printing the elements
        print(elements);
    }
}
Producción

Before sorting elements 4 3 2 6 7 
After sorting elements 7 6 4 3 2

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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