输入 :
List<String> elements= new ArrayList<>();
elements.add("Oranges");
elements.add("Figs");
elements.add("Mangoes");
elements.add("Apple");
List<String> listofComments = new ArrayList<>();
listofComments.add("Apples are better than Oranges");
listofComments.add("I love Mangoes and Oranges");
listofComments.add("I don't know like Figs. Mangoes are my favorites");
listofComments.add("I love Mangoes and Apples");
Run Code Online (Sandbox Code Playgroud)
输出:[芒果、苹果、橙子、无花果] -> 输出必须按元素出现次数的降序排列。如果元素出现等于 no。那么它们必须按字母顺序排列。
我是 Java 8 的新手,遇到了这个问题。我尝试部分解决它;我无法排序。谁能帮助我编写更好的代码?
我的一段代码:
Function<String, Map<String, Long>> function = f -> {
Long count = listofComments.stream()
.filter(e -> e.toLowerCase().contains(f.toLowerCase())).count();
Map<String, Long> map = new HashMap<>(); //creates map for every element. Is it right?
map.put(f, count);
return …Run Code Online (Sandbox Code Playgroud)