我想取一个LinkedHashMap指定位数的值,比如这个MAP有21个值,我想取第10个到第21个的值,求解答,谢谢

解决方案 »

  1.   

    这个还真没这么做过keySet后再迭代了取试试
      

  2.   


    LinkedHashMap<Integer, String> integers = new LinkedHashMap<Integer, String>();
    for (int i = 0; i < 25; i++) {
        integers.put(i, "value"+i );
    }
    int pos = 0;
    for (Iterator<Integer> iterator = integers.keySet().iterator(); iterator.hasNext(); pos++) {
        String result = integers.get(iterator.next());
        if (pos >= 3 && pos <= 21)
    System.out.println(result);
    }
      

  3.   

    int j = 1;
            for (Entry<String, String> mapx : map.entrySet())
            {
                j++;        
                if (j > 10)
                {
                    System.out.println(mapx.getKey());
                }
            }
      

  4.   


    LinkedHashMap<Integer, String> integers = new LinkedHashMap<Integer, String>();
    for (int i = 0; i < 25; i++) {
        integers.put(i, "value"+i );
    }
    int pos = 0;
    for (Iterator<Integer> iterator = integers.keySet().iterator(); iterator.hasNext()&&pos <= 21; pos++) {
        Integer integer = iterator.next();
        if (pos >= 3  ){
     String result = integers.get(integer);
     System.out.println(result);
        }
    }
      

  5.   

    大家速度都挺快的嘛,我也贴一个代码 LinkedHashMap map = new LinkedHashMap();
    for(int i=1; i<22; i++) map.put( i, "v"+i);
    Iterator it = map.entrySet().iterator();
    int order = 0;
    while(it.hasNext()){
    order++;
    Map.Entry entry = (Map.Entry)it.next();
    if( order>9 ) System.out.println(entry.getKey() + ":" + entry.getValue());
    }
      

  6.   


    Map<String, String> map = new LinkedHashMap<String, String>();
    Collection<String> cs = map.values();
      

  7.   

    话说可以采用ListIterator实现,可以倒序遍历....