/*
* Copyright 2004-2011 H2 Group. Multiple-Licensed under the H2 License,
* Version 1.0, and under the Eclipse Public License, Version 1.0
* (http://h2database.com/html/license.html).
* Initial Developer: H2 Group
*/
package org.h2.util;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
/**
* This class contains static methods to construct commonly used generic objects
* such as ArrayList.
*/
public class New {
/**
* Create a new ArrayList.
*
* @param <T> the type
* @return the object
*/
public static <T> ArrayList<T> arrayList() {
return new ArrayList<T>(4);
}
/**
* Create a new HashMap.
*
* @param <K> the key type
* @param <V> the value type
* @return the object
*/
public static <K, V> HashMap<K, V> hashMap() {
return new HashMap<K, V>();
}
/**
* Create a new HashMap.
*
* @param <K> the key type
* @param <V> the value type
* @param initialCapacity the initial capacity
* @return the object
*/
public static <K, V> HashMap<K, V> hashMap(int initialCapacity) {
return new HashMap<K, V>(initialCapacity);
}
/**
* Create a new HashSet.
*
* @param <T> the type
* @return the object
*/
public static <T> HashSet<T> hashSet() {
return new HashSet<T>();
}
/**
* Create a new ArrayList.
*
* @param <T> the type
* @param c the collection
* @return the object
*/
public static <T> ArrayList<T> arrayList(Collection<T> c) {
return new ArrayList<T>(c);
}
/**
* Create a new ArrayList.
*
* @param <T> the type
* @param initialCapacity the initial capacity
* @return the object
*/
public static <T> ArrayList<T> arrayList(int initialCapacity) {
return new ArrayList<T>(initialCapacity);
}
}