2008-03-13
将HashMap封装成一个LinkedList
HashMap经常在我们的应用程序中出现,它把key与value通过hash code映射起来,并存放到table中。在日常应用中,如果有这样的场景,就是基于HashMap封装成一个LinkedList,那么如何实现link的特性,还真是值得想想。在此先买个关子,欢迎大家积极参与讨论。
- 22:05
- 浏览 (140)
- 论坛浏览 (927)
- 评论 (7)
- 相关推荐
评论
cuiyi.crazy
2008-09-10
回复
tigers 写道
看来大家没理解上面的意思,上面是说把HashMap封装成List,而不是说把HashMap变成linked map。
有两种方法可以试试,一是把map<key, value>中的value再封装一次:{value, next},并使next指向下一个note的key,这个node就变成了linked list中的下一个节点了。
还有一个是将map中的所有keys组成一个list,这样相当于对key作链接,再由key到map中找到value.
有两种方法可以试试,一是把map<key, value>中的value再封装一次:{value, next},并使next指向下一个note的key,这个node就变成了linked list中的下一个节点了。
还有一个是将map中的所有keys组成一个list,这样相当于对key作链接,再由key到map中找到value.
一个list,一个map,凑在了一起,不就是linkedhashmap嘛;
反正我是自己实现的数据结构,一个list/array对象,一个map对象,然后索引参照;不过我不知道linkedhashmap现在也发现自己实现是合理的
jasoncao1985
2008-03-26
回复
果然是把简单的东西复杂化!
看来大家没理解上面的意思,上面是说把HashMap封装成List,而不是说把HashMap变成linked map。
有两种方法可以试试,一是把map<key, value>中的value再封装一次:{value, next},并使next指向下一个note的key,这个node就变成了linked list中的下一个节点了。
还有一个是将map中的所有keys组成一个list,这样相当于对key作链接,再由key到map中找到value.
有两种方法可以试试,一是把map<key, value>中的value再封装一次:{value, next},并使next指向下一个note的key,这个node就变成了linked list中的下一个节点了。
还有一个是将map中的所有keys组成一个list,这样相当于对key作链接,再由key到map中找到value.
Map map=new HashMap();
Object[] keyArray = (Object[]) map.keySet().toArray();
Object[] valueArray = (Object[]) map.values().toArray();
Map mapReturn = new LinkedHashMap();
for (int i = 0; i < keyArrayLength; i++)
{
mapReturn.put(keyArray[i], valueArray[i]);
}
这样就可以从一个hashmap封装成一个LinkdeHashmap了。
Object[] keyArray = (Object[]) map.keySet().toArray();
Object[] valueArray = (Object[]) map.values().toArray();
Map mapReturn = new LinkedHashMap();
for (int i = 0; i < keyArrayLength; i++)
{
mapReturn.put(keyArray[i], valueArray[i]);
}
这样就可以从一个hashmap封装成一个LinkdeHashmap了。
最新评论
-
将HashMap封装成一个Link ...
tigers 写道看来大家没理解上面的意思,上面是说把HashMap封装成Lis ...
-- by cuiyi.crazy -
基于Quartz的高频率同步
毛 瞎说, qutarz有这样的实现,而且spring-qutarz也提供了这样 ...
-- by duobin3000 -
程序员的气质
我可以把你的特征概括为时间观,我想时间观也是一个程序员应该具有的重要特质,由此也 ...
-- by tigers -
程序员的气质
在团队中我总是把项目的时间进程放在第一位所有问题的解决都是以时间为先决条件
-- by spyker -
项目管理沟通之道
项目经理70%以上的时间用于沟通 教科书是这么说,这个教科书不是憋在实验室里面 ...
-- by yecllsl







评论排行榜