您的位置:首页 > 其它

输出数组中相同的元素以及个数

2014-09-18 11:49 92 查看
最近根据公司要求在处理数据库中的部分信息,要实现的效果就是查看数组中相同的元素以及相同元素的个数,对于我们来说最容易想到的就是依次从数据库中取出数据,然后和该元素后面的一个开始依次进行比较匹配,当判断相同的时候,执行+1操作,然后标记此元素已经被匹配,直到最后的数据结束,然后再匹配进行第二条。。。

首先不考虑这样做的结果的正确性,这样的匹配算法会面临一个最简单的问题,那就是数据量稍微大的情况下处理会很慢,效率很低。。。

在用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集合是从数据库中得到的。

待续。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐