如何计算HASHMAP中相同的键对应的值的数量

fanmiyun 2010-06-28 06:07:59
正在做一个关于网络的程序。现在的问题为需要找出一些列链接中的每个链接所对应的链接的数量。

举个列子来说,比如我从一个特定的链接开始,比如 http://blog.sina.com/aarre, 它对应的好友链接有:http://blog.sina.com/ase; http://blog.sina.com/sjeu; http://blog.sina.com/jruydr;.... 好友链接中的每个链接又对应着一些列的链接。比如http://blog.sina.com/ase中包含的链接有 http://blog.sina.com/fjrui;http://blog.sina.com.cn/hryd....现在的问题在于如何计算出每个好友链接 (http://blog.sina.com/ase) 中所包含的链接数量。比如ASE中为2,SJEU中为3,,,

我现在能够计算出所有的数量,但无法以不同好友的方式区分他们。所以我想的办法是使用一个HASHMAP,把每个键对应上链接(ASE),值对应好友的链接(fjrui,hryd)。那么只需要分别计算出有多少相同的键。就可以知道好友链接的数量。不知道这种方法可行否?HASHMAP中有没有什么方法可以遍历出这种数量?

...全文
411 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ade子夜 2010-06-28
  • 打赏
  • 举报
回复
可以考虑用三楼的方法!利用六楼的方法在重新组件!!
applerockhool 2010-06-28
  • 打赏
  • 举报
回复
lz可以自己组织需要的数据结构
lishigui 2010-06-28
  • 打赏
  • 举报
回复
HashMap里没有相同Key的值,它的值是唯一的,既一个Key对应一个value,三楼的方法可行!
下面是我的方法:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class MyHashMap {
private HashMap<String, List> map = new HashMap<String, List>();

public void put(String key, String value) {
List list = null;
if (map.get(key) == null) {
list = new ArrayList();
list.add(value);
map.put(key, list);
} else {
list = map.get(key);
list.add(value);
}
}

public List get(String key) {
List list = map.get(key);
return list;
}

public int size() {
return map.size();
}

public int length(String key){
List list = map.get(key);
return list.size();
}
}
dracularking 2010-06-28
  • 打赏
  • 举报
回复
属性结构改成树型结构
dracularking 2010-06-28
  • 打赏
  • 举报
回复
类似,不过好友还有链接的话,就是两层以上的属性结构

HashMap(URL,ArrayList<HashMap>())

我一直在找树的数据结构里有没有现成的,还没找到
「已注销」 2010-06-28
  • 打赏
  • 举报
回复
HashMap<String,ArrayList<String>>
dr_lou 2010-06-28
  • 打赏
  • 举报
回复
这个一般都是存在db中的。

friends = hashMap<好友,好友有几个好友>
lacus87 2010-06-28
  • 打赏
  • 举报
回复
map中没有相同的键.....

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧