Un comparador , con métodos adicionales para soportar operaciones comunes. Esta es una versión «enriquecida» de Comparator. Las formas comunes de obtener una instancia de Ordering son:
- Subclasifique e implemente compare(T, T) en lugar de implementar Comparator directamente.
- Pase una instancia de Comparator preexistente a from(Comparator).
- Utilice el ordenamiento natural, natural().
Declaración: la declaración para la clase com.google.common.collect.Ordering< T > es:
@GwtCompatible public abstract class Ordering<T> extends Object implements Comparator<T>
A continuación se dan algunos métodos proporcionados por la clase de pedido de guayaba:
Pedido(): este es un constructor de la clase de pedido de guayaba. Construye una nueva instancia de esta clase (solo invocable por el constructor de la subclase, normalmente implícito). Algunos otros métodos provistos por esta Clase son:
Excepciones:
- explicit(Lista de valores en orden): NullPointerException si alguno de los valores proporcionados es nulo, IllegalArgumentException si valores en orden contiene valores duplicados.
- explícito (T lessValue, T… restantesValuesInOrder) : NullPointerException si alguno de los valores proporcionados es nulo, IllegalArgumentException si hay valores duplicados.
- min(Iterator iterator) : NoSuchElementException si el iterador está vacío, ClassCastException si los parámetros no son comparables entre sí bajo este orden.
- min(Iterable iterable) : NoSuchElementException si iterable está vacío, ClassCastException si los parámetros no son comparables entre sí bajo este orden.
- min(E a, E b) : ClassCastException si los parámetros no son comparables entre sí bajo este orden.
- min(E a, E b, E c, E… rest) : ClassCastException si los parámetros no son comparables entre sí bajo este orden.
- max(Iterator iterator) : NoSuchElementException si el iterador está vacío, ClassCastException si los parámetros no son comparables entre sí bajo este orden.
- max(Iterable iterable) : NoSuchElementException si iterable está vacío, ClassCastException si los parámetros no son comparables entre sí bajo este orden.
- max(E a, E b) : ClassCastException si los parámetros no son comparables entre sí bajo este orden.
- max(E a, E b, E c, E… rest) : ClassCastException si los parámetros no son comparables entre sí bajo este orden.
- lessOf(Iterable iterable, int k): IllegalArgumentException si k es negativo.
- lessOf(Iterator elementos, int k) : IllegalArgumentException si k es negativo.
- greatOf(Iterable iterable, int k): IllegalArgumentException si k es negativo.
- greatOf (Iterator elementos, int k) : IllegalArgumentException si k es negativo.
- immutableSortedCopy: NullPointerException si alguno de los elementos (o los propios elementos) es nulo.
Algunos otros métodos proporcionados por esta clase son:
Ejemplo 1:
// Java code to show implementation of // Ordering class import java.util.*; import com.google.common.collect.Ordering; class GFG { // Driver code public static void main(String args[]) { // Creating a list of Integers List<Integer> myList = new ArrayList<Integer>(); myList.add(new Integer(12)); myList.add(new Integer(3)); myList.add(new Integer(78)); myList.add(new Integer(50)); myList.add(new Integer(6)); myList.add(new Integer(70)); myList.add(new Integer(18)); myList.add(new Integer(9)); myList.add(new Integer(10)); // Displaying natural order of numbers Ordering ordering = Ordering.natural(); System.out.println("Input List : " + myList); // Displaying the sorted list Collections.sort(myList, ordering); System.out.println("Sorted List : " + myList); } }
Producción :
Input List : [12, 3, 78, 50, 6, 70, 18, 9, 10] Sorted List : [3, 6, 9, 10, 12, 18, 50, 70, 78]
A continuación se presentan algunos otros métodos proporcionados por Ordering Class of Guava:
Ejemplo 2:
// Java code to show implementation of // Ordering class import java.util.*; import com.google.common.collect.Ordering; class GFG { // Driver code public static void main(String args[]) { // Creating a list of Integers List<Integer> myList = new ArrayList<Integer>(); myList.add(new Integer(12)); myList.add(new Integer(3)); myList.add(new Integer(78)); myList.add(new Integer(50)); myList.add(new Integer(6)); myList.add(new Integer(70)); myList.add(new Integer(18)); myList.add(new Integer(9)); myList.add(new Integer(10)); // Displaying natural order of numbers Ordering ordering = Ordering.natural(); System.out.println("Minimum element is : " + ordering.min(myList)); } }
Producción :
Minimum element is : 3
Ejemplo 3:
// Java code to show implementation of // Ordering class import java.util.*; import com.google.common.collect.Ordering; class GFG { // Driver code public static void main(String args[]) { // Creating a list of Integers List<Integer> myList = new ArrayList<Integer>(); myList.add(new Integer(12)); myList.add(new Integer(3)); myList.add(new Integer(78)); myList.add(new Integer(50)); myList.add(new Integer(6)); myList.add(new Integer(70)); myList.add(new Integer(18)); myList.add(new Integer(9)); myList.add(new Integer(10)); // Displaying natural order of numbers Ordering ordering = Ordering.natural(); System.out.println("Maximum element is : " + ordering.max(myList)); } }
Producción :
Maximum element is : 78
Ejemplo 4:
// Java code to show implementation of // Ordering class import java.util.*; import com.google.common.collect.Ordering; class GFG { // Driver code public static void main(String args[]) { // Creating a list of Integers List<Integer> myList = new ArrayList<Integer>(); myList.add(new Integer(12)); myList.add(new Integer(3)); myList.add(new Integer(78)); myList.add(new Integer(50)); myList.add(new Integer(6)); myList.add(new Integer(70)); myList.add(new Integer(18)); myList.add(new Integer(9)); myList.add(new Integer(10)); // Displaying natural order of numbers Ordering ordering = Ordering.natural(); // To get reverse of original list Collections.sort(myList, ordering.reverse()); // Displaying the reversed elements System.out.println(myList); } }
Producción :
[78, 70, 50, 18, 12, 10, 9, 6, 3]
Referencia: Google Guayaba
Publicación traducida automáticamente
Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA