Java集合工具类(二)-泛型集合工具类,用于便捷快速的定义、操作集合。包含Set的交集、并集...

/**
     * 用该方法来代替 { @code new ArrayList<T>()} 方式获得新的 { @code java.util.List} 的实例对象。
     *
     * @param <T> { @code List<T>} 中保存的对象。
     * @return 返回 { @code java.util.List<T>} 关于 { @code java.util.ArrayList<T>} 实现的新实例。
     */
    public static <T> List<T> getList() {
        return new ArrayList<T>();
    }

    /**
     * 用该方法来代替 {@code new ArrayList<T>(int)} 方式获得新的 {@code java.util.List} 的实例对象。
     *
     * @param <T> {@code List<T>} 中保存的对象。
     * @param initialCapacity 列表的初始容量。
     * @return 返回 {@code java.util.List<T>} 关于 {@code java.util.ArrayList<T>} 实现的新实例。
     */
    public static <T> List<T> getList(int initialCapacity) {
        return new ArrayList<T>(initialCapacity);
    }

    /**
     * 用该方法来代替 {@code new ArrayList<T>()} 方式获得新的 {@code java.util.List} 的实例对象。
     *
     * @param <T> {@code List<T>} 中保存的对象。
     * @param c 其中的元素将存放在新的 {@code list} 中的 {@code collection}。
     * @return 返回 {@code java.util.List<T>} 关于 {@code java.util.ArrayList<T>} 实现的新实例。
     */
    public static <T> List<T> getList(Collection<? extends T> c) {
        if (ObjectUtils.isNotEmpty(c))
            return new ArrayList<T>(c);
        return new ArrayList<T>();
    }

    /**
     * 用该方法来代替 {@code new LinkedList<T>()} 方式获得新的 {@code java.util.List} 的实例对象。
     *
     * @param <T> {@code List<T>} 中保存的对象。
     * @return 返回 {@code java.util.List<T>} 关于 {@code java.util.LinkedList<T>} 实现的新实例。
     */
    public static <T> List<T> getLinkedList() {
        return new LinkedList<T>();
    }

    /**
     * 用该方法来代替 {@code new HashSet<T>()} 方式获得新的 {@code java.util.Set} 的实例对象。
     *
     * @param <T> {@code Set<T>} 中保存的对象。
     * @return 返回 {@code java.util.Set<T>} 关于 {@code java.util.HashSet<T>} 实现的新实例。
     */
    public static <T> Set<T> getHashSet() {
        return new HashSet<T>();
    }

    /**
     * 用该方法来代替 {@code new HashSet<T>(int)} 方式获得新的 {@code java.util.Set} 的实例对象。
     *
     * @param <T> {@code Set<T>} 中保存的对象。
     * @param initialCapacity 列表的初始容量。
     * @return 返回 {@code java.util.Set<T>} 关于 {@code java.util.HashSet<T>} 实现的新实例。
     */
    public static <T> Set<T> getHashSet(int initialCapacity) {
        return new HashSet<T>(initialCapacity);
    }

    /**
     * 用该方法来代替 <code>new HashSet&lt;T&gt;(Collection&lt;? extends T&gt; c)</code> 方式获得新的
     * {@code java.util.Set} 的实例对象。
     *
     * @param <T> {@code Set} 中保存的对象。
     * @param c 其中的元素将存放在新的 {@code set} 中的 {@code collection}。
     * @return 返回 {@code java.util.Set<T>} 关于 {@code java.util.HashSet<T>} 实现的新实例。
     */
    public static <T> Set<T> getHashSet(Collection<? extends T> c) {
        if (ObjectUtils.isEmpty(c))
            return new HashSet<T>();
        return new HashSet<T>(c);
    }

    /**
     * 用该方法来代替 {@code new TreeSet<T>()} 方式获得新的 {@code java.util.Set} 的实例对象。
     *
     * @param <T> {@code Set<T>} 中保存的对象。
     * @return 返回 {@code java.util.Set<T>} 关于 {@code java.util.TreeSet<T>} 实现的新实例。
     */
    public static <T> Set<T> getTreeSet() {
        return new TreeSet<T>();
    }

    /**
     * 用该方法来代替 <code>new TreeSet&lt;T&gt;(Collection&lt;? extends T&gt; c)</code> 方式获得新的
     * {@code java.util.Set} 的实例对象。
     *
     * @param <T> {@code Set} 中保存的对象。
     * @param c 其中的元素将存放在新的 {@code set} 中的 {@code collection}。
     * @return 返回 {@code java.util.Set<T>} 关于 {@code java.util.TreeSet<T>} 实现的新实例。
     */
    public static <T> Set<T> getTreeSet(Collection<? extends T> c) {
        if (ObjectUtils.isEmpty(c))
            return new TreeSet<T>();
        return new TreeSet<T>(c);
    }

  

你可能感兴趣的:(Java集合工具类(二)-泛型集合工具类,用于便捷快速的定义、操作集合。包含Set的交集、并集...)