java有没有 有序的map,而且可以 修改key

java有没有 有序的map,而且可以 修改key

我需要保证map排列顺序是put的顺序
并且能根据指定位置来修改key和value
就像list那样


map肯定无序,想实现这种功能就用链表呗,然后每个节点有两个属性,一个key一个value,要是想按照指定位置修改的话就用ArrayList吧


LinkedHashMap


LinkedHashMap
修改key可以分两步走
第一步,迭代出元素放到另一个LHM中直到找到指定元素。
第二步,删除该元素,再新增,再把LHM中的元素put回来。


收起回复
  • 4楼
  • 2013-10-13 10:22
    • brucelee_80再新增就放到尾部了吧?
      2013-10-13 12:15 回复
    • nikoloss回复 brucelee_80 :所以需要两个LHM(linkedhashmap)看仔细了
      2013-10-13 14:44 回复
    • brucelee_80回复 nikoloss :哦,大概明白了,但是你没说清楚。你说的应该是这样吧:第一步,map1中迭代出元素放到map2中直到找到指定元素。第二步,map2中删除该元素,再新增,再把map1中的元素put到map2中。
      2013-10-13 14:57 回复
    • 我也说一句

       

    LinkedHashMap


    收起回复
    • 5楼
    • 2013-10-13 10:24
      • brucelee_80如何修改?比如我想修改2号位置的key和value,或者修改指定key的key和value,修改之后原位置和原顺序保持不变
        2013-10-13 12:16 回复
      • 我也说一句

         

      传奇经典,想玩就玩,想刷就刷  1.76经典版本复刻,原味呈现 
      程序员最讨厌的是自己写代码的时候要写注释,而别人写的代码没有注释。
      认可的dingyixia


      收起回复
      • 6楼
      • 2013-10-13 10:35
        评论
        添加红包

        请填写红包祝福语或标题

        红包个数最小为10个

        红包金额最低5元

        当前余额3.43前往充值 >
        需支付:10.00
        成就一亿技术人!
        领取后你会自动成为博主和红包主的粉丝 规则
        hope_wisdom
        发出的红包
        实付
        使用余额支付
        点击重新获取
        扫码支付
        钱包余额 0

        抵扣说明:

        1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
        2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

        余额充值