El método thenComparingLong( java.util.function.ToLongFunction ) de Comparator Interface en Java devuelve un comparador de orden lexicográfico con una función que extrae una clave de ordenación larga.
Sintaxis:
default Comparator <T> thenComparingLong( ToLongFunction <T> keyExtractor)
Parámetros: este método acepta keyExtractor, que es la función utilizada para extraer la clave de ordenación larga.
Valor de retorno: este método devuelve un comparador de orden lexicográfico compuesto por este y luego por la clave de ordenación larga.
Excepción: este método lanza NullPointerException si el argumento es nulo.
Los siguientes programas ilustran el método ComparingLong(java.util.function.ToLongFunction):
Programa 1:
// Java program to demonstrate Comparator // thenComparingLong(ToLongFunction) method import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; public class GFG { public static void main(String... args) { List<Users> list = createUsers(); System.out.printf("before sort: %s%n", list); Collections.sort(list, Comparator .comparing(Users::getDepartment) .thenComparingLong(Users::getId)); System.out.printf("after sort: %s%n", list); } private static List<Users> createUsers() { return Arrays.asList( new Users(12311, "ME"), new Users(10211, "CSE"), new Users(33111, "CSE"), new Users(21000, "IT"), new Users(12133, "IT"), new Users(21445, "CSE")); } private static class Users { private long id; private String department; public Users(long id, String department) { this.id = id; this.department = department; } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getDepartment() { return department; } public void setDepartment(String department) { this.department = department; } @Override public String toString() { return department + " - " + id; } } }
La salida impresa en la consola de IDE se muestra a continuación.
Salida:
puede ver en el ejemplo que la primera clasificación se realiza por departamento y, si el departamento es el mismo, entonces por ID.
Programa 2:
// Java program to demonstrate Comparator // thenComparingLong(ToLongFunction) method import java.util.Arrays; import java.util.Comparator; import java.util.List; public class GFG { public static void main(String... args) { List<String> list = Arrays.asList("KKR", "CSK", "MI", "KXIP", "RCB", "SRH", "DC", "RR"); try { // apply thenComparingLong Comparator.comparing(list::get) .thenComparingLong(null); } catch (Exception e) { System.out.printf("Exception:" + e); } } }
El resultado impreso en la consola se muestra a continuación.
Producción:
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA