Ментор: "Убедись, что метод sortByRanking(ArrayList<Language>) возвращает отсортированный по рейтингу поток тех же данных, что и в получаемом списке."
Вроде никакого подвоха в задаче нет, просто подставить только что озвученные методы. Но где-то мы с валидатором видим мир по разному.
package com.javarush.task.pro.task18.task1812;
import java.util.ArrayList;
import java.util.Collections;
import java.util.DuplicateFormatFlagsException;
import java.util.stream.Stream;
/*
Рейтинг языков программирования
*/
public class Solution {
public static void main(String[] args) {
ArrayList<Language> languages = new ArrayList<>();
Collections.addAll(languages,
new Language("С#", 4.58),
new Language("JavaScript", 2.54),
new Language("Python", 10.47),
new Language("C++", 7.11),
new Language("Go", 1.46),
new Language("R", 2.37),
new Language("Java", 13.48),
new Language("C", 15.95),
new Language("Swift", 1.38),
new Language("PHP", 2.49));
Stream<Language> languageStream = sortByRanking(languages);
languageStream.forEach(System.out::println);
}
public static Stream<Language> sortByRanking(ArrayList<Language> languages) {
return languages.stream().sorted((l1, l2) -> Double.compare(l1.getRanking(), l2.getRanking()));
}
}
/* output:
Язык программирования - Swift, рейтинг - 1.38% опрошенных.
Язык программирования - Go, рейтинг - 1.46% опрошенных.
Язык программирования - R, рейтинг - 2.37% опрошенных.
Язык программирования - PHP, рейтинг - 2.49% опрошенных.
Язык программирования - JavaScript, рейтинг - 2.54% опрошенных.
Язык программирования - С#, рейтинг - 4.58% опрошенных.
Язык программирования - C++, рейтинг - 7.11% опрошенных.
Язык программирования - Python, рейтинг - 10.47% опрошенных.
Язык программирования - Java, рейтинг - 13.48% опрошенных.
Язык программирования - C, рейтинг - 15.95% опрошенных.
*/