Java中计算集合中元素的出现次数统计

 更新时间:2024年02月28日 09:04:58   作者:程序媛小刘  
本文主要介绍了Java中计算集合中元素的出现次数统计,使用Collections类配合HashMap来统计和java lamb 计算这两种方式,具有一定的参考价值,感兴趣可以了解一下

使用Collections类来计算集合中元素的出现次数

在Java中,你可以使用Collections类配合HashMap来统计集合中元素的出现次数。以下是一个示例:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("apple", "banana", "apple", "orange", "banana", "banana");

        // 使用LinkedHashMap以保持插入顺序
        Map<String, Integer> countMap = new LinkedHashMap<>();

        // 遍历列表并统计每个元素的出现次数
        for (String item : list) {
            countMap.put(item, countMap.getOrDefault(item, 0) + 1);
        }

        // 打印结果
        for (Map.Entry<String, Integer> entry : countMap.entrySet()) {
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }
    }
}

在这个示例中,我们首先创建了一个包含重复元素的列表。然后,我们创建了一个LinkedHashMap来存储每个元素及其出现次数。我们使用getOrDefault方法获取当前元素的出现次数(如果元素尚未在映射中,则返回默认值0),然后将其加1。最后,我们遍历映射并打印每个元素及其出现次数。

注意,我们使用LinkedHashMap而不是普通的HashMap,是因为LinkedHashMap会保持插入顺序。如果你不关心元素的插入顺序,那么可以使用HashMap

java lamb 计算集合中元素的出现次数

在Java中,你可以使用Stream API和lambda表达式来更简洁地计算集合中元素的出现次数。这里是一个使用Java 8及以上版本的例子:

import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("apple", "banana", "apple", "orange", "banana", "banana");

        // 使用Stream API和lambda表达式来计算元素的出现次数
        Map<String, Long> countMap = list.stream()
                .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));

        // 打印结果
        countMap.forEach((item, count) -> System.out.println(item + " : " + count));
    }
}

在这个例子中,我们首先创建了一个包含重复元素的列表。然后,我们使用stream()方法将列表转换成一个流,接着使用collect方法和Collectors.groupingBy来根据元素本身(Function.identity())进行分组,并使用Collectors.counting()来计算每个分组的元素数量。

Collectors.groupingBy返回的是一个Map<K, List<T>>,其中K是元素的类型,T也是元素的类型。然后,我们通过嵌套使用Collectors.counting()来将每个分组的列表转换为计数值。最终,我们得到一个Map<String, Long>,其中键是集合中的元素,值是它们在集合中出现的次数。

最后,我们使用forEach方法来遍历这个映射并打印每个元素及其出现次数。

这种方法比使用传统的for循环和HashMap更加简洁和易读。

到此这篇关于Java中计算集合中元素的出现次数统计的文章就介绍到这了,更多相关Java集合元素次数统计内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 聊聊springboot中整合log4g2的问题

    聊聊springboot中整合log4g2的问题

    这篇文章主要介绍了springboot中整合log4g2的方法,自定义文件名需要在application.yml中配置,在config中配置log4g2.xml文件,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-11-11
  • 关于Java错误提示之找不到或无法加载主类的问题及正确处理方法

    关于Java错误提示之找不到或无法加载主类的问题及正确处理方法

    当我们在初学Java的是时候,类文件中是不设定包名(package)的,这种情况下注意classpath,基本上没有问题, 本文主要说明classpath和系统环境变量PATH都没问题的情况下出错原因和正确处理方法,感兴趣的朋友一起看看吧
    2022-01-01
  • java 数组转list的两种方式

    java 数组转list的两种方式

    这篇文章主要介绍了java 数组转list的两种方式,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-10-10
  • SpringBoot整合redis实现输入密码错误限制登录功能

    SpringBoot整合redis实现输入密码错误限制登录功能

    遇到这样的需求需要实现一个登录功能,并且2分钟之内只能输入5次错误密码,若输入五次之后还没有输入正确密码,系统将会将该账号锁定1小时,这篇文章主要介绍了SpringBoot整合redis并实现输入密码错误限制登录功能,需要的朋友可以参考下
    2024-02-02
  • 详解如何在SpringBoot里使用SwaggerUI

    详解如何在SpringBoot里使用SwaggerUI

    本篇文章主要介绍了详解如何在SpringBoot里使用SwaggerUI,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 在SSM中配置了事务控制但没生效的问题

    在SSM中配置了事务控制但没生效的问题

    这篇文章主要介绍了在SSM中配置了事务控制但没生效的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • java必学必会之this关键字

    java必学必会之this关键字

    java必学必会之this关键字,java中this的用法进行了详细的分析介绍,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 基于SpringBoot实现自动装配返回属性的设计思路

    基于SpringBoot实现自动装配返回属性的设计思路

    这篇文章主要介绍了基于SpringBoot实现自动装配返回属性,这里涉及到的技术知识点有注解解析器,为什么用ResponseBodyAdvice这里解析?不在Filter,Interceptors,本文结合示例代码给大家介绍的非常详细,需要的朋友参考下吧
    2022-03-03
  • java编程之单元测试(Junit)实例分析(附实例源码)

    java编程之单元测试(Junit)实例分析(附实例源码)

    这篇文章主要介绍了java编程之单元测试(Junit),结合实例形式较为详细的分析总结了Java单元测试的原理、步骤及相关注意事项,并附带了完整代码供读者下载参考,需要的朋友可以参考下
    2015-11-11
  • java应用领域分析

    java应用领域分析

    在这篇文章里,我们将更确切地知道哪种类型的项目是使用Java完成的,Java运用在哪些主要领域和部门,以及Java在现实世界的哪些地方起着什么作用,需要的朋友可以参考下
    2017-09-09

最新评论