小编use*_*969的帖子

Java 8 Streams:计算文本数据列表(List<String> list2)中元素(List<String> list1)的出现次数

输入 :

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)

java sorting java-8 java-stream

5
推荐指数
1
解决办法
4249
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1

sorting ×1