GUN.TROVE是比java.util.collection更快的集合框架,其实现原理是直接在原语上直接操作集合类的框架。框架是轻量级的,且速度很快,上手也很容易,本人对此框架的使用还算行,但是没有深入阅读其源码,如有大侠请指点。
如下是一个写的集合工具类
1 import gnu.trove.THashMap; 2 import gnu.trove.TIntObjectHashMap; 3 import gnu.trove.THashSet; 4 import gnu.trove.TLinkedList; 5 6 import java.util.HashMap; 7 import java.util.HashSet; 8 import java.util.LinkedList; 9 import java.util.List; 10 import java.util.Map; 11 import java.util.Set; 12 13 14 public class CollectionFactory { 15 16 static boolean trove = true; 17 18 static { 19 if (System.getProperty("trove").equalsIgnoreCase("true")) 20 trove = true; 21 } 22 23 public static Map getHashMap() { 24 if (trove) { 25 return new THashMap(); 26 } else { 27 return new HashMap(); 28 } 29 } 30 31 public static TIntObjectHashMap getHashMap2() { 32 return new TIntObjectHashMap(); 33 } 34 35 36 37 public static Map getHashMap(int capacity) { 38 if (trove) { 39 return new THashMap(capacity); 40 } else { 41 return new HashMap(capacity); 42 } 43 } 44 45 public static Set getHashSet() { 46 if (trove) { 47 return new THashSet(); 48 } else { 49 return new HashSet(); 50 } 51 } 52 53 public static Set getHashSet(int capacity) { 54 if (trove) { 55 return new THashSet(capacity); 56 } else { 57 return new HashSet(capacity); 58 } 59 } 60 61 public static List getLinkedList() { 62 if (trove) { 63 return new TLinkedList(); 64 } else { 65 return new LinkedList(); 66 } 67 } 68 69 }