使用Java 8的新特性可以使用流(Stream)和Lambda表达式来编写一个List中多个重复字符串的统计代码

使用Java 8的新特性可以使用流(Stream)和Lambda表达式来编写一个List中多个重复字符串的统计代码。下面是一个示例代码:

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<String> strings = new ArrayList<>();
        strings.add("111-aa");
        strings.add("111-aa");
        strings.add("22-bb");
        strings.add("333-cc");
        strings.add("111-dd");
        strings.add("444-ee");
        
        Map<String, Long> countMap = strings.stream()
                .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
        
        countMap.forEach((str, count) -> System.out.println(str + ": " + count));
    }
}

这个示例代码将统计List中每个字符串出现的次数,并输出结果。输出结果将以字符串为键,出现次数为值进行展示。在输出结果中,重复的字符串会被统计为多次出现。

输出结果:

111-aa: 2
22-bb: 1
333-cc: 1
111-dd: 1
444-ee: 1

这段代码使用strings.stream()将List转换成流,然后使用Collectors.groupingBy(Function.identity(), Collectors.counting())对每个字符串进行分组,并计算每个分组中的元素个数。最后,使用forEach方法遍历并输出结果。

此列子是学习简单的例子。。。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容