JAVA-数组去重,并且计算每个值的重复次数
来源:互联网 发布:php修复00截断的版本 编辑:程序博客网 时间:2024/05/20 10:22
感谢http://blog.csdn.net/zhangphil/article/details/47291145提供的思路和方法,作者提供了有序的数组去重的方法。参考这个思路,如果数组是无序的,那么该怎么去重呢。
public class ArrayCountUtils { public static void main(String args[]) { String[] data = { "1", "2", "1", "1", "3", "asdf", "3", "asdf", "3", "asdf", "3", "asdf", "3", "asdf", "sss", "5" }; ArrayCountUtils arrayCountUtils = new ArrayCountUtils(); List<Group> groups = arrayCountUtils.find(data); for (Group group : groups) { System.out.println(group.title + ":::::"+group.count); } } /** * 计算一个数组去重后的数量和每个去重值的数量 * @param data 数据源 * @return 返回的列表的长度代表去重后的数量 Group的字段title,count分别代表去重后的值和数量 */ public List<Group> find(String [] data) { //用来记录运算后的数据 Map<String, Group> resultMap = new LinkedHashMap<>(); /** * 运算到的位置记录 */ int countIndex = 0; while (countIndex < data.length) { String s = data[countIndex]; //如果这个值运算过 不再运算 if (resultMap.get(s) != null) { countIndex++; continue; } Group group = new Group(); group.title = s; for (int i = countIndex; i < data.length; i++) { if (data[i].equals(s)) { group.count++; } } resultMap.put(s, group); countIndex++; } return new ArrayList<Group>(resultMap.values()); } /** * 用来记录去重后的信息 */ private class Group { public String title; public int count; }}
输出结果:
1:::::3
2:::::1
3:::::5
asdf:::::5
sss:::::1
5:::::1
感谢原博客http://blog.csdn.net/zhangphil
阅读全文
0 0
- JAVA-数组去重,并且计算每个值的重复次数
- js 数组中的值出现的重复次数附加简单数组去重
- 计算数组中各项的重复次数
- java数组元素重复次数及重复次数的最大值
- 原生JS去重(二)--去重且判断字符重复出现的次数
- Java 数组去重复值
- 计算数组中每个数字出现的次数
- Java数组去重复
- (去重)去除数组中重复数字的算法
- java数组去重
- Java数组去重
- java数组去重
- Java 数组去重
- java数组去重
- Java 数组去重
- java数组的去重复数据
- php编程: 怎样计算某一值在数组中重复出现的次数?
- Java数组去重的多种方法
- TensorFlow 安装
- Java中事务的特性
- android图片效果处理
- 《深入理解java虚拟机》学习-第三章-内存分配策略
- 如何在PHP方面进一步提高
- JAVA-数组去重,并且计算每个值的重复次数
- 最大子矩阵问题----悬线法
- Git@OSC实现从本地添加项目到远程仓库
- 【VC】中自定义消息实现
- Java反射机制知识总结
- 算法题目---圆圈中最后剩下的数字
- java.security.cert.CertificateException: No name matching api.weibo.com found;取消验证
- Git学习笔记
- Linux 的启动流程