스트림과 정수 - 두 개의 매개 변수를받을 방법을 만드는 방법

피오트르 스크 제파 닉 :

나는 스트림을 소요하고 정수 및 문자열의 목록을 반환하는 방법을 구현해야합니다. 가장 낮은에 최고의 주문 및 숫자 만 반환 - 목록은 INT 번호에 따라 분류한다

나는 하나 개의 스트림에서 할이 뭔가를 얻으려면 :

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"

날이 흐름에 도움이 있을까요? 내가 soreted 필터 +를 사용하는 경우는 나도 몰라. 아니면 foreach는? 이것은 Comparator.naturalOrder단지 일시적입니다.

SDJ :

인터페이스의 유틸리티 메소드는 Comparator이러한 유형의 작업에 대한 도움말은 매우 유용합니다 :

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());
}

추천

출처http://43.154.161.224:23101/article/api/json?id=239481&siteId=1