View Javadoc

    1   /* Copyright (C) 2003 Internet Archive.
    2    *
    3    * This file is part of the Heritrix web crawler (crawler.archive.org).
    4    *
    5    * Heritrix is free software; you can redistribute it and/or modify
    6    * it under the terms of the GNU Lesser Public License as published by
    7    * the Free Software Foundation; either version 2.1 of the License, or
    8    * any later version.
    9    *
    10   * Heritrix is distributed in the hope that it will be useful,
    11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
    12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13   * GNU Lesser Public License for more details.
    14   *
    15   * You should have received a copy of the GNU Lesser Public License
    16   * along with Heritrix; if not, write to the Free Software
    17   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    18   *
    19   * Created on Jul 21, 2003
    20   *
    21   * To change the template for this generated file go to
    22   * Window>Preferences>Java>Code Generation>Code and Comments
    23   */
    24  package org.archive.crawler.util;
    25
    26  import java.util.ArrayList;
    27  import java.util.Arrays;
    28  import java.util.HashMap;
    29
    30  public class Sorts {
    31
    32      // Sorts by value not key
    33      public static StringIntPair[] sortStringIntHashMap (HashMap<String,Integer> hm){
    34          String[] keys = hm.keySet().toArray(new String[hm.size()]);
    35          Integer[] values = hm.values().toArray(new Integer[hm.size()]);
    36
    37          ArrayList<StringIntPair> unsortedList = new ArrayList<StringIntPair>();
    38
    39          for (int i = 0; i < keys.length; i++)
    40              unsortedList.add(i, new StringIntPair(keys[i], values[i]));
    41
    42          StringIntPair[] sortedArray
    43           = unsortedList.toArray(new StringIntPair[unsortedList.size()]);
    44          Arrays.sort(sortedArray, new StringIntPairComparator());
    45
    46          return sortedArray;
    47      }
    48
    49  }