public class Generics
extends java.lang.Object
Map<String,ClassicCounter<List<String>>> = new HashMap<String,ClassicCounter<List<String>>>()
you just call Generics.newHashMap()
:
Map<String,ClassicCounter<List<String>>> = Generics.newHashMap()
Java type-inference will almost always just do the right thing
(every once in a while, the compiler will get confused before you do,
so you might still occasionally have to specify the appropriate types).
This class is based on the examples in Brian Goetz's article
Java
theory and practice: The pseudo-typedef antipattern.Modifier and Type | Field and Description |
---|---|
static java.lang.String |
HASH_MAP_CLASSNAME |
static java.lang.String |
HASH_MAP_PROPERTY |
static java.lang.String |
HASH_SET_CLASSNAME |
static java.lang.String |
HASH_SET_PROPERTY |
Modifier and Type | Method and Description |
---|---|
static <E> java.util.ArrayList<E> |
newArrayList() |
static <E> java.util.ArrayList<E> |
newArrayList(java.util.Collection<? extends E> c) |
static <E> java.util.ArrayList<E> |
newArrayList(int size) |
static <E> BinaryHeapPriorityQueue<E> |
newBinaryHeapPriorityQueue() |
static <K,V> java.util.concurrent.ConcurrentHashMap<K,V> |
newConcurrentHashMap() |
static <K,V> java.util.concurrent.ConcurrentHashMap<K,V> |
newConcurrentHashMap(int initialCapacity) |
static <K,V> java.util.concurrent.ConcurrentHashMap<K,V> |
newConcurrentHashMap(int initialCapacity,
float loadFactor,
int concurrencyLevel) |
static <E> java.util.Set<E> |
newConcurrentHashSet() |
static <E> java.util.Set<E> |
newConcurrentHashSet(java.util.Set<E> set) |
static <K,V> java.util.Map<K,V> |
newHashMap() |
static <K,V> java.util.Map<K,V> |
newHashMap(int initialCapacity) |
static <K,V> java.util.Map<K,V> |
newHashMap(java.util.Map<? extends K,? extends V> m) |
static <E> java.util.Set<E> |
newHashSet() |
static <E> java.util.Set<E> |
newHashSet(java.util.Collection<? extends E> c) |
static <E> java.util.Set<E> |
newHashSet(int initialCapacity) |
static <K,V> java.util.IdentityHashMap<K,V> |
newIdentityHashMap() |
static <K> java.util.Set<K> |
newIdentityHashSet() |
static <E> Index<E> |
newIndex() |
static <T> Interner<T> |
newInterner() |
static <E> java.util.LinkedList<E> |
newLinkedList() |
static <E> java.util.LinkedList<E> |
newLinkedList(java.util.Collection<? extends E> c) |
static <T1,T2> Pair<T1,T2> |
newPair(T1 first,
T2 second) |
static <E> java.util.Stack<E> |
newStack() |
static <T> SynchronizedInterner<T> |
newSynchronizedInterner(Interner<T> interner) |
static <T> SynchronizedInterner<T> |
newSynchronizedInterner(Interner<T> interner,
java.lang.Object mutex) |
static <K,V> java.util.TreeMap<K,V> |
newTreeMap() |
static <E> java.util.TreeSet<E> |
newTreeSet() |
static <E> java.util.TreeSet<E> |
newTreeSet(java.util.Comparator<? super E> comparator) |
static <E> java.util.TreeSet<E> |
newTreeSet(java.util.SortedSet<E> s) |
static <T1,T2,T3> Triple<T1,T2,T3> |
newTriple(T1 first,
T2 second,
T3 third) |
static <K,V> java.util.WeakHashMap<K,V> |
newWeakHashMap() |
static <K,V> java.util.WeakHashMap<K,V> |
newWeakHashMap(int initialCapacity) |
static <T> java.lang.ref.WeakReference<T> |
newWeakReference(T referent) |
public static final java.lang.String HASH_SET_PROPERTY
public static final java.lang.String HASH_SET_CLASSNAME
public static final java.lang.String HASH_MAP_PROPERTY
public static final java.lang.String HASH_MAP_CLASSNAME
public static <E> java.util.ArrayList<E> newArrayList()
public static <E> java.util.ArrayList<E> newArrayList(int size)
public static <E> java.util.ArrayList<E> newArrayList(java.util.Collection<? extends E> c)
public static <E> java.util.LinkedList<E> newLinkedList()
public static <E> java.util.LinkedList<E> newLinkedList(java.util.Collection<? extends E> c)
public static <E> java.util.Stack<E> newStack()
public static <E> BinaryHeapPriorityQueue<E> newBinaryHeapPriorityQueue()
public static <E> java.util.TreeSet<E> newTreeSet()
public static <E> java.util.TreeSet<E> newTreeSet(java.util.Comparator<? super E> comparator)
public static <E> java.util.TreeSet<E> newTreeSet(java.util.SortedSet<E> s)
public static <E> java.util.Set<E> newHashSet()
public static <E> java.util.Set<E> newHashSet(int initialCapacity)
public static <E> java.util.Set<E> newHashSet(java.util.Collection<? extends E> c)
public static <K,V> java.util.Map<K,V> newHashMap()
public static <K,V> java.util.Map<K,V> newHashMap(int initialCapacity)
public static <K,V> java.util.Map<K,V> newHashMap(java.util.Map<? extends K,? extends V> m)
public static <K,V> java.util.IdentityHashMap<K,V> newIdentityHashMap()
public static <K> java.util.Set<K> newIdentityHashSet()
public static <K,V> java.util.WeakHashMap<K,V> newWeakHashMap()
public static <K,V> java.util.WeakHashMap<K,V> newWeakHashMap(int initialCapacity)
public static <K,V> java.util.concurrent.ConcurrentHashMap<K,V> newConcurrentHashMap()
public static <K,V> java.util.concurrent.ConcurrentHashMap<K,V> newConcurrentHashMap(int initialCapacity)
public static <K,V> java.util.concurrent.ConcurrentHashMap<K,V> newConcurrentHashMap(int initialCapacity, float loadFactor, int concurrencyLevel)
public static <K,V> java.util.TreeMap<K,V> newTreeMap()
public static <E> Index<E> newIndex()
public static <E> java.util.Set<E> newConcurrentHashSet()
public static <E> java.util.Set<E> newConcurrentHashSet(java.util.Set<E> set)
public static <T1,T2> Pair<T1,T2> newPair(T1 first, T2 second)
public static <T1,T2,T3> Triple<T1,T2,T3> newTriple(T1 first, T2 second, T3 third)
public static <T> Interner<T> newInterner()
public static <T> SynchronizedInterner<T> newSynchronizedInterner(Interner<T> interner)
public static <T> SynchronizedInterner<T> newSynchronizedInterner(Interner<T> interner, java.lang.Object mutex)
public static <T> java.lang.ref.WeakReference<T> newWeakReference(T referent)