当前位置: 首页 > news >正文

Android 实现获取集合中出现重复数据的值和数量

方法一:使用HashMap和HashSet

  1. 创建一个HashMap,用于存储集合中的元素及其出现次数。
Map<String, Integer> map = new HashMap<>();
  1. 遍历集合,将每个元素作为键,将其出现次数作为值添加到HashMap中。
for (String item : list) {map.put(item, map.getOrDefault(item, 0) + 1);
}
  1. 遍历HashMap,找到出现次数大于1的元素及其出现次数。
for (Map.Entry<String, Integer> entry : map.entrySet()) {if (entry.getValue() > 1) {System.out.println("重复元素:" + entry.getKey() + ",出现次数:" + entry.getValue());}
}

方法二:使用Java 8的Stream API

  1. 首先,将列表转换为Stream。
Stream<String> stream = list.stream();
  1. 使用collect()方法将Stream转换为Map,其中键为元素,值为出现次数。
Map<String, Integer> map = stream.collect(Collectors.toMap(list::contains, String::equals, (a, b) -> a + 1));
  1. 遍历HashMap,找到出现次数大于1的元素及其出现次数。
for (Map.Entry<String, Integer> entry : map.entrySet()) {if (entry.getValue() > 1) {System.out.println("重复元素:" + entry.getKey() + ",出现次数:" + entry.getValue());}
}

以上两种方法都可以用于获取集合中重复数据的值和数量。方法一是基于HashMap和HashSet的实现,而方法二是基于Java 8的Stream API。可以根据实际需求和性能要求选择合适的方法。

相关文章:

  • Overleaf Docker编译复现计划
  • HTML-鼠标悬浮文案效果
  • PriorityQueue源码阅读
  • 如何使用vite框架封装一个js库,并发布npm包
  • C#-sort()利用委托自定义排序
  • 肯尼斯·里科《C和指针》第6章 指针(2)
  • 安防视频云平台/可视化监控云平台ARM版EasyCVR无法下载录像文件,如何解决?
  • 一文速学-selenium高阶性能优化技巧
  • GoZero微服务个人探索之路(三)Go-Zero官方rpc demo示例探究
  • Oracle12c创建表空间及用户
  • Java并发编程——伪共享和缓存行问题
  • 挖种子小游戏
  • Linux下安装Mysql8.0版本【保姆级】
  • 「HDLBits题解」Conditional
  • Spring MVC中的方法的返回值!!!
  • ECMAScript6(0):ES6简明参考手册
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • jquery ajax学习笔记
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • Laravel 菜鸟晋级之路
  • SQLServer插入数据
  • vue中实现单选
  • Web设计流程优化:网页效果图设计新思路
  • 仿天猫超市收藏抛物线动画工具库
  • 七牛云假注销小指南
  • 数据可视化之 Sankey 桑基图的实现
  • 通过git安装npm私有模块
  • 异步
  • 智能合约开发环境搭建及Hello World合约
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • (09)Hive——CTE 公共表达式
  • (14)Hive调优——合并小文件
  • (3)选择元素——(17)练习(Exercises)
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (NSDate) 时间 (time )比较
  • (Oracle)SQL优化技巧(一):分页查询
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (补)B+树一些思想
  • (二)windows配置JDK环境
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .Net 垃圾回收机制原理(二)
  • .NET导入Excel数据
  • @Autowired和@Resource的区别
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解