피오트르 스크 제파 닉 :
나는 스트림을 소요하고 정수 및 문자열의 목록을 반환하는 방법을 구현해야합니다. 가장 낮은에 최고의 주문 및 숫자 만 반환 - 목록은 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());
}