输出数组中相同的元素以及个数
2014-09-18 11:49
92 查看
最近根据公司要求在处理数据库中的部分信息,要实现的效果就是查看数组中相同的元素以及相同元素的个数,对于我们来说最容易想到的就是依次从数据库中取出数据,然后和该元素后面的一个开始依次进行比较匹配,当判断相同的时候,执行+1操作,然后标记此元素已经被匹配,直到最后的数据结束,然后再匹配进行第二条。。。
首先不考虑这样做的结果的正确性,这样的匹配算法会面临一个最简单的问题,那就是数据量稍微大的情况下处理会很慢,效率很低。。。
在用java语言实现的过程中,想到了java中提供的有HashMap方法,于是查了其所对应的API文档
对于基础的hashmap介绍,http://blog.csdn.net/haitaofeiyang/article/details/5530816这哥们写的很详细,可以参考下,感觉自己再看api写大概的也都是差不多,不如直接借用他人的果实。。。
我的具体实现过程如下:
其中list集合是从数据库中得到的。
待续。。。
首先不考虑这样做的结果的正确性,这样的匹配算法会面临一个最简单的问题,那就是数据量稍微大的情况下处理会很慢,效率很低。。。
在用java语言实现的过程中,想到了java中提供的有HashMap方法,于是查了其所对应的API文档
对于基础的hashmap介绍,http://blog.csdn.net/haitaofeiyang/article/details/5530816这哥们写的很详细,可以参考下,感觉自己再看api写大概的也都是差不多,不如直接借用他人的果实。。。
我的具体实现过程如下:
public void comparesitename(List<String> list) { HashMap<String, Integer> hash = new HashMap<String, Integer>(); for (int i = 0; i < list.size(); i++) { try { if (!hash.isEmpty() && hash.containsKey(list.get(i))) { hash.put(list.get(i).toString(), hash.get(list.get(i)) + 1); } else { hash.put(list.get(i).toString(), 1); } } catch (Exception e) { e.printStackTrace(); } } Set<String> set = hash.keySet(); for (String key : set) { //key代表的是元素,hash.get(key)代表的是出现的次数 System.out.println("有"+hash.get(key)+"条走了”"+key+"“这条路"+" 可共用一条规则"); } }
其中list集合是从数据库中得到的。
待续。。。
相关文章推荐
- java String ArrayList数组是否有相同元素 以及相同元素个数
- 互换二维数组的行列。要求数组的行数、列数以及各元素均从键盘输入;输出互换前数组内容和互换后数组内容。(要求循环输入进行测试)Java
- 实验6 数组1 定义一个3×3的整形二维数组arr,为数组各元素赋值,找出最小值以及它的行下标和列下标,并输出该矩阵
- 判断两个数组是否有相同的元素?有输出“有”,没有输出“没有”
- 剑指offer 01-06解答思路以及代码(顺序数组找特定数字,替换空格字符,链表反转输出,重建二叉树,两个栈实现队列效果,旋转数组最小元素)
- vector数组中删除相同元素(输入的元素输出时只能出现一次)
- php获取两个数组相同的元素(交集)以及比较两个数组中不同的元素(差集)
- c#---部分;把数组或者结构体存入集合里,然后再从集合中取出之后,输出;foreach既可以用到提取数组重点额数据,也可以提取集合中的数据(前提是集合中的元素是相同数据类型)
- 计算数组中相同元素的个数,以及数组总的元素数(重复元素算一个)
- 对JSON数组对象排序-有键相同的元素,分组数量不一致,可采用如下的JS进行循环表格输出
- oc统计数组相同元素的个数,以及数组排序
- 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。错误写法以及正确写法。
- 判断两个数组中是否有相同的元素,有就输出“”有“”,没有就输出“”没有“”
- 用C语言实现判断两个数组中是否有相同的元素,有就输出“有”,没有则输出“没有”
- java找出2个集合或数组相同和不同的元素(以及去除List中的重复元素)
- 快速为所有数组元素赋相同的值以及在switch中的应用
- 【java】为数组所有元素赋相同的值 以及 数组之间的复制
- 实现统计数组中相同元素个数并输出
- 判断两个数组中是否有相同元素,有就输出有,没有就输出没有
- c#两个数组对比取出相同的元素输出