KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > snow > functional > Func


1 package snow.functional;
2
3 import java.util.*;
4
5 /** Some functional programming routines
6 */

7 public final class Func
8 {
9    /** Constructor.
10    */

11    private Func()
12    {
13
14    }
15
16    public static <K,T> Map<K,List<T>> sortInCategories(List<T> list, Function<K,T> f)
17    {
18       Map<K,List<T>> m = new HashMap<K,List<T>>();
19       for(T t : list)
20       {
21          K k = f.execute(t);
22          if(!m.containsKey(k))
23          {
24            m.put(k, new ArrayList<T>());
25          }
26          m.get(k).add(t);
27       }
28       return m;
29    }
30
31
32    /**
33    */

34    public static void main(String JavaDoc[] args)
35    {
36       System.out.println("" + sortInCategories(Arrays.asList("A","AA", "BB", "C", "AAA", "AA"),
37         new Function<Integer JavaDoc, String JavaDoc>(){ public Integer JavaDoc execute(String JavaDoc s)
38         {
39            return s.length();
40         }}));
41    }
42
43 } // Func
Popular Tags