List<Map.Entry<String, Integer>> list2 = new LinkedList<Map.Entry<String, Integer>>();
list2.addAll(map3.entrySet());


//
Collections.sort(list2, new Comparator<Map.Entry<String, Integer>>() {
      public int compare(Map.Entry obj1, Map.Entry obj2) {//从高往低排序
          
          if(Integer.parseInt(obj1.getValue().toString())<Integer.parseInt(obj2.getValue().toString()))
              return 1;
          if(Integer.parseInt(obj1.getValue().toString())==Integer.parseInt(obj2.getValue().toString()))
              return 0;
          else
             return -1;
      }
   });
怎么取出前100个啊??

解决方案 »

  1.   

    循环吧,设个变量i,每取一个,i++
    判断i的值。
      

  2.   

    List<Map.Entry<String, Integer>> list2 = new LinkedList<Map.Entry<String, Integer>>();
    list2.addAll(map3.entrySet());

    //
    //  // int size=map2.size();
    //  // int count=0;
    //
    //
    //
    Collections.sort(list2, new Comparator<Map.Entry<String, Integer>>() {
          public int compare(Map.Entry obj1, Map.Entry obj2) {//从高往低排序
              
              if(Integer.parseInt(obj1.getValue().toString())<Integer.parseInt(obj2.getValue().toString()))
                  return 1;
              if(Integer.parseInt(obj1.getValue().toString())==Integer.parseInt(obj2.getValue().toString()))
                  return 0;
              else
                 return -1;
          }
       });



    //
    Object[] obj= list2.subList(0, 100).toArray();
            System.out.println(obj.length);
            
            for (int i=0; i<obj.length; i++)
            {
    }