/** * 创建LinkedList实例 * * @param Iterable 迭代器 @see Iterable * @return LinkedList实例 */ public static <T> LinkedList<T> createLinkedList(Iterable<? extends T> c) { LinkedList<T> list = new LinkedList<T>(); iterableToCollection(c, list); return list; }
/** 创建一个TreeSet。 */ public static <T> TreeSet<T> createTreeSet( Comparator<? super T> comparator, Iterable<? extends T> c) { TreeSet<T> set = new TreeSet<T>(comparator); iterableToCollection(c, set); return set; }
/** 创建一个LinkedHashSet。 */ public static <T> LinkedHashSet<T> createLinkedHashSet(Iterable<? extends T> iter) { LinkedHashSet<T> set; if (iter instanceof Collection<?>) { set = new LinkedHashSet<T>((Collection<? extends T>) iter); } else { set = new LinkedHashSet<T>(); iterableToCollection(iter, set); } return set; }
/** * 创建ArrayList实例 * * @param iter 迭代器 @see Iterable * @return ArrayList实例 */ public static <E> ArrayList<E> createArrayList(Iterable<? extends E> iter) { if (iter instanceof Collection<?>) { return new ArrayList<E>((Collection<? extends E>) iter); } ArrayList<E> list = new ArrayList<E>(); iterableToCollection(iter, list); list.trimToSize(); return list; }