论坛首页 Java企业应用论坛

将HashMap封装成一个LinkedList

浏览 4693 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (6) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-03-13  
HashMap经常在我们的应用程序中出现,它把key与value通过hash code映射起来,并存放到table中。在日常应用中,如果有这样的场景,就是基于HashMap封装成一个LinkedList,那么如何实现link的特性,还真是值得想想。在此先买个关子,欢迎大家积极参与讨论。
   发表时间:2008-03-13  

难道你说的不是LinkedHashMap???

http://gceclub.sun.com.cn/Java_Docs/jdk6/html/zh_CN/api/java/util/LinkedHashMap.html
0 请登录后投票
   发表时间:2008-03-14  
JDK1.4 后就有LinkedHashMap了吧?
0 请登录后投票
   发表时间:2008-03-15  
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了。
0 请登录后投票
   发表时间:2008-03-24  
看来大家没理解上面的意思,上面是说把HashMap封装成List,而不是说把HashMap变成linked map。
有两种方法可以试试,一是把map<key, value>中的value再封装一次:{value, next},并使next指向下一个note的key,这个node就变成了linked list中的下一个节点了。
还有一个是将map中的所有keys组成一个list,这样相当于对key作链接,再由key到map中找到value.
0 请登录后投票
   发表时间:2008-03-26  
你是不是吃饱撑着了
0 请登录后投票
   发表时间:2008-03-26  
果然是把简单的东西复杂化!
0 请登录后投票
   发表时间: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.


一个list,一个map,凑在了一起,不就是linkedhashmap嘛;
反正我是自己实现的数据结构,一个list/array对象,一个map对象,然后索引参照;不过我不知道linkedhashmap现在也发现自己实现是合理的
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics