Cómo crear un método que consigue dos parámetros - arroyo y número entero

Piotr Szczepanik:

Necesito poner en práctica el método que toma un arroyo y entero y devuelve la lista de cadenas. La lista debe ser agrupados de acuerdo a los números int - ordenado de mayor a menor, y regresar sólo números

Quiero hacerlo en una sola corriente y obtener algo como esto:

public static List<String> groupFunc(Stream<Nums> nums, int pass) {       
  List<Object> myList = nums.filter(s-> s.getScore() >= pass).sorted(Comparator.naturalOrder(s)).collect(Collectors.toList());
}


List<Nums> nums = new ArrayList<Nums>();

        nums.add(new Nums("A", 80));
        nums.add(new Nums("B", 57));
        nums.add(new Nums("C", 21));

        groupFunc(nums.stream(), 50).forEach(System.out::println);

    // should print "A","B"

¿Me podría ayudar con esta corriente? No sé si debo utilizar el filtro + soreted. O tal vez foreach? Esto Comparator.naturalOrderes sólo temporal.

SDJ:

Los métodos de utilidad en la interfaz Comparatorson muy útiles para ayudar con estos tipos de operaciones:

public static List<String> groupFunc(Stream<Nums> nums, int pass) {
    return nums
            .filter(s-> s.getScore() >= pass)
            .sorted(Comparator.comparing(Nums::getScore).reversed())
            .map(Nums::getName)
            .collect(Collectors.toList());
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=239486&siteId=1
Recomendado
Clasificación