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  }