如题。linkedhashmap是有顺序的,插入顺序。但我想倒着遍历它,就没办法了。小弟初学者,百度、google了一上午,实在搜不到结果,只好来求助了。希望能给些提示。谢谢。

解决方案 »

  1.   

    不清楚你要实现什么样的功能,为什么一定要这样做。给一种笨方法。LZ参考吧。 LinkedHashMap <String,String >linkedhashmap = new LinkedHashMap<String,String>();
    String key_name = "key_";
    for(int i = 0; i < 10; i++)
    {
    linkedhashmap.put(key_name+ String.valueOf(i), String.valueOf(i));
    }
    for(int i = linkedhashmap.size() - 1; i > 0; i--)
    {
    System.out.println(linkedhashmap.get(key_name + i));
    }
      

  2.   


    Map map = new LinkedHashMap();
    for (int i = 0; i < 30; i++) {
    map.put("a" + i, i);
    }
    Collection c = map.values();
    List list = new ArrayList(c);
    for (int j = list.size() - 1; j >= 0; j--) {
    System.out.println(list.get(j));
    }
      

  3.   

    keySet() --> List --> ListIterator
      

  4.   

    LinkedHashMap <String,String > linkedhashmap = new LinkedHashMap<String,String>();
    for(Map.Entry<String,String> entry : linkedhashmap.entrySet()) {
         System.out.println(entry.getKey()+":"+entry.getValue());
    }
    注意结贴
      

  5.   

    LinkedHashMap m=new LinkedHashMap();
    ListIterator i = new ArrayList(m.entrySet()).listIterator(m.size());/*Use List.listIterator()*/
    while(i.hasPrevious()){
      i.previous();
    }
      

  6.   

    LinkedHashMap <String,String >linkedhashmap = new LinkedHashMap<String,String>();
            String key_name = "key_";
            for(int i = 0; i < 10; i++)
            {
                linkedhashmap.put(key_name+ String.valueOf(i), String.valueOf(i));
            }
            for(int i = linkedhashmap.size() - 1; i > 0; i--)
            {
                System.out.println(linkedhashmap.get(key_name + i));
            }
    这个应该可行的
      

  7.   

    第一次没看清题,像下面这种:import java.util.ArrayList;
    import java.util.LinkedHashMap;
    import java.util.ListIterator;
    import java.util.Map;public class TextListIterator { public static void main(String[] args) {
    LinkedHashMap <String,String > linkedhashmap = new LinkedHashMap<String,String>();
    linkedhashmap.put("1","a");
    linkedhashmap.put("2","b");
    linkedhashmap.put("3","c");
    linkedhashmap.put("4","d");
    ListIterator<Map.Entry<String,String>> i=new ArrayList<Map.Entry<String,String>>(linkedhashmap.entrySet()).listIterator(linkedhashmap.size());
    while(i.hasPrevious()) {
    Map.Entry<String, String> entry=i.previous();
    System.out.println(entry.getKey()+":"+entry.getValue());
    }
    }}4:d
    3:c
    2:b
    1:a你的结贴率....哎...纯技术贴了
      

  8.   

    呵呵,我基本上是潜水学习者,很少上回复或发主题,这是为数不多的一次.不过会认真结贴的.
    entrySet()得到的key的list好像有可能不是linkedhashmap的插入顺序.我再多试验吧.
    谢谢thegodofwar了,也谢谢其他朋友的帮助.m(_ _)m