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集合元素次数统计内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Spring CROS解决项目中的跨域问题详解

    使用Spring CROS解决项目中的跨域问题详解

    这篇文章主要介绍了使用Spring CROS解决项目中的跨域问题详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Java 给图片和动图添加水印的方法

    Java 给图片和动图添加水印的方法

    本篇文章主要介绍了Java 给图片和动图添加水印的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Spring Lifecycle的使用小结

    Spring Lifecycle的使用小结

    这篇文章主要介绍了Spring Lifecycle的使用,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 深入探究 spring-boot-starter-parent的作用

    深入探究 spring-boot-starter-parent的作用

    这篇文章主要介绍了spring-boot-starter-parent的作用详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,感兴趣的小伙伴可以跟着小编一起来学习一下
    2023-05-05
  • 详解SpringBoot中使用JPA作为数据持久化框架

    详解SpringBoot中使用JPA作为数据持久化框架

    这篇文章主要介绍了SpringBoot中使用JPA作为数据持久化框架的相关知识,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • mybatis新增save结束后自动返回主键id详解

    mybatis新增save结束后自动返回主键id详解

    这篇文章主要介绍了mybatis新增save结束后自动返回主键id详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • springboot整合mybatis-plus代码生成器的配置解析

    springboot整合mybatis-plus代码生成器的配置解析

    这篇文章主要介绍了springboot整合mybatis-plus代码生成器的配置解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • java实现网页解析示例

    java实现网页解析示例

    这篇文章主要介绍了java实现网页解析示例,需要的朋友可以参考下
    2014-04-04
  • idea2017建立jsp工程及tomcat配置教程

    idea2017建立jsp工程及tomcat配置教程

    本文通过图文并茂的形式给大家介绍了idea2017建立jsp工程及tomcat等配置的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • 浅谈Spring Security 对于静态资源的拦截与放行

    浅谈Spring Security 对于静态资源的拦截与放行

    这篇文章主要介绍了浅谈Spring Security 对于静态资源的拦截与放行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08

最新评论