org.dbflute.lasta.di.util.tiger.LdiCollectionsUtil Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lasta-di Show documentation
Show all versions of lasta-di Show documentation
DI Container for LastaFlute, super forked from Seasar as Java8
The newest version!
/*
* Copyright 2014-2015 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.dbflute.lasta.di.util.tiger;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.IdentityHashMap;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.SortedMap;
import java.util.SortedSet;
import java.util.Stack;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.Vector;
import java.util.WeakHashMap;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.DelayQueue;
import java.util.concurrent.Delayed;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.PriorityBlockingQueue;
/**
* Java5のgenericsや可変長を活用する、コレクションのためのユーティリティです。
*
* @author modified by jflute (originated in Seasar)
*/
public abstract class LdiCollectionsUtil {
/**
* インスタンスを構築します。
*/
protected LdiCollectionsUtil() {
}
/**
* {@link ArrayBlockingQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link ArrayBlockingQueue}の要素型
* @param capacity
* キューの容量
* @return {@link ArrayBlockingQueue}の新しいインスタンス
* @see ArrayBlockingQueue#ArrayBlockingQueue(int)
*/
public static ArrayBlockingQueue newArrayBlockingQueue(final int capacity) {
return new ArrayBlockingQueue(capacity);
}
/**
* {@link ArrayBlockingQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link ArrayBlockingQueue}の要素型
* @param capacity
* キューの容量
* @param fair
* {@code true}の場合、挿入または削除時にブロックされたスレッドに対するキューアクセス
* @return {@link ArrayBlockingQueue}の新しいインスタンス
* @see ArrayBlockingQueue#ArrayBlockingQueue(int, boolean)
*/
public static ArrayBlockingQueue newArrayBlockingQueue(final int capacity, final boolean fair) {
return new ArrayBlockingQueue(capacity, fair);
}
/**
* {@link ArrayBlockingQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link ArrayBlockingQueue}の要素型
* @param capacity
* キューの容量
* @param fair
* {@code true}の場合、挿入または削除時にブロックされたスレッドに対するキューアクセス
* @param c
* 最初に含む要素のコレクション
* @return {@link ArrayBlockingQueue}の新しいインスタンス
* @see ArrayBlockingQueue#ArrayBlockingQueue(int, boolean, Collection)
*/
public static ArrayBlockingQueue newArrayBlockingQueue(final int capacity, final boolean fair, final Collection extends E> c) {
return new ArrayBlockingQueue(capacity, fair, c);
}
/**
* {@link ArrayList}の新しいインスタンスを作成して返します。
*
* @param
* {@link ArrayList}の要素型
* @return {@link ArrayList}の新しいインスタンス
* @see ArrayList#ArrayList()
*/
public static ArrayList newArrayList() {
return new ArrayList();
}
/**
* {@link ArrayList}の新しいインスタンスを作成して返します。
*
* @param
* {@link ArrayList}の要素型
* @param c
* 要素がリストに配置されるコレクション
* @return {@link ArrayList}の新しいインスタンス
* @see ArrayList#ArrayList(Collection)
*/
public static ArrayList newArrayList(final Collection extends E> c) {
return new ArrayList(c);
}
/**
* {@link ArrayList}の新しいインスタンスを作成して返します。
*
* @param
* {@link ArrayList}の要素型
* @param initialCapacity
* リストの初期容量
* @return {@link ArrayList}の新しいインスタンス
* @see ArrayList#ArrayList(int)
*/
public static ArrayList newArrayList(final int initialCapacity) {
return new ArrayList(initialCapacity);
}
/**
* {@link ConcurrentHashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link ConcurrentHashMap}のキーの型
* @param
* {@link ConcurrentHashMap}の値の型
* @return {@link ConcurrentHashMap}の新しいインスタンス
* @see ConcurrentHashMap#ConcurrentHashMap()
*/
public static ConcurrentHashMap newConcurrentHashMap() {
return new ConcurrentHashMap();
}
/**
* {@link ConcurrentHashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link ConcurrentHashMap}のキーの型
* @param
* {@link ConcurrentHashMap}の値の型
* @param initialCapacity
* 初期容量
* @return {@link ConcurrentHashMap}の新しいインスタンス
* @see ConcurrentHashMap#ConcurrentHashMap(int)
*/
public static ConcurrentHashMap newConcurrentHashMap(final int initialCapacity) {
return new ConcurrentHashMap(initialCapacity);
}
/**
* {@link ConcurrentHashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link ConcurrentHashMap}のキーの型
* @param
* {@link ConcurrentHashMap}の値の型
* @param initialCapacity
* 初期容量
* @param loadFactor
* サイズ変更の制御に使用される負荷係数のしきい値
* @param concurrencyLevel
* 同時更新を行うスレッドの推定数
* @return {@link ConcurrentHashMap}の新しいインスタンス
* @see ConcurrentHashMap#ConcurrentHashMap(int, float, int)
*/
public static ConcurrentHashMap newConcurrentHashMap(final int initialCapacity, final float loadFactor,
final int concurrencyLevel) {
return new ConcurrentHashMap(initialCapacity, loadFactor, concurrencyLevel);
}
/**
* {@link ConcurrentHashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link ConcurrentHashMap}のキーの型
* @param
* {@link ConcurrentHashMap}の値の型
* @param m
* 作成されるマップに配置されるマップ
* @return {@link ConcurrentHashMap}の新しいインスタンス
* @see ConcurrentHashMap#ConcurrentHashMap(Map)
*/
public static ConcurrentHashMap newConcurrentHashMap(final Map extends K, ? extends V> m) {
return new ConcurrentHashMap(m);
}
/**
* {@link ConcurrentLinkedQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link ConcurrentLinkedQueue}の要素型
* @return {@link ConcurrentLinkedQueue}の新しいインスタンス
* @see ConcurrentLinkedQueue#ConcurrentLinkedQueue()
*/
public static ConcurrentLinkedQueue newConcurrentLinkedQueue() {
return new ConcurrentLinkedQueue();
}
/**
* {@link ConcurrentLinkedQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link ConcurrentLinkedQueue}の要素型
* @param c
* 最初に含む要素のコレクション
* @return {@link ConcurrentLinkedQueue}の新しいインスタンス
* @see ConcurrentLinkedQueue#ConcurrentLinkedQueue(Collection)
*/
public static ConcurrentLinkedQueue newConcurrentLinkedQueue(final Collection extends E> c) {
return new ConcurrentLinkedQueue(c);
}
/**
* {@link CopyOnWriteArrayList}の新しいインスタンスを作成して返します。
*
* @param
* {@link CopyOnWriteArrayList}の要素型
* @return {@link CopyOnWriteArrayList}の新しいインスタンス
* @see CopyOnWriteArrayList#CopyOnWriteArrayList()
*/
public static CopyOnWriteArrayList newCopyOnWriteArrayList() {
return new CopyOnWriteArrayList();
}
/**
* {@link CopyOnWriteArrayList}の新しいインスタンスを作成して返します。
*
* @param
* {@link CopyOnWriteArrayList}の要素型
* @param c
* 最初に保持していた要素のコレクション
* @return {@link CopyOnWriteArrayList}の新しいインスタンス
* @see CopyOnWriteArrayList#CopyOnWriteArrayList(Collection)
*/
public static CopyOnWriteArrayList newCopyOnWriteArrayList(final Collection extends E> c) {
return new CopyOnWriteArrayList(c);
}
/**
* {@link CopyOnWriteArrayList}の新しいインスタンスを作成して返します。
*
* @param
* {@link CopyOnWriteArrayList}の要素型
* @param toCopyIn
* 配列 (この配列のコピーは内部配列として使用される)
* @return {@link CopyOnWriteArrayList}の新しいインスタンス
* @see CopyOnWriteArrayList#CopyOnWriteArrayList(Object[])
*/
public static CopyOnWriteArrayList newCopyOnWriteArrayList(final E[] toCopyIn) {
return new CopyOnWriteArrayList(toCopyIn);
}
/**
* {@link CopyOnWriteArraySet}の新しいインスタンスを作成して返します。
*
* @param
* {@link CopyOnWriteArraySet}の要素型
* @return {@link CopyOnWriteArraySet}の新しいインスタンス
* @see CopyOnWriteArraySet#CopyOnWriteArraySet()
*/
public static CopyOnWriteArraySet newCopyOnWriteArraySet() {
return new CopyOnWriteArraySet();
}
/**
* {@link CopyOnWriteArraySet}の新しいインスタンスを作成して返します。
*
* @param
* {@link CopyOnWriteArraySet}の要素型
* @param c
* コレクション
* @return {@link CopyOnWriteArraySet}の新しいインスタンス
* @see CopyOnWriteArraySet#CopyOnWriteArraySet(Collection)
*/
public static CopyOnWriteArraySet newCopyOnWriteArraySet(final Collection extends E> c) {
return new CopyOnWriteArraySet(c);
}
/**
* {@link DelayQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link CopyOnWriteArraySet}の要素型
* @return {@link DelayQueue}の新しいインスタンス
* @see DelayQueue#DelayQueue()
*/
public static DelayQueue newDelayQueue() {
return new DelayQueue();
}
/**
* {@link DelayQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link CopyOnWriteArraySet}の要素型
* @param c
* コレクション
* @return {@link DelayQueue}の新しいインスタンス
* @see DelayQueue#DelayQueue(Collection)
*/
public static DelayQueue newDelayQueue(final Collection extends E> c) {
return new DelayQueue(c);
}
/**
* {@link HashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link HashMap}のキーの型
* @param
* {@link HashMap}の値の型
* @return {@link HashMap}の新しいインスタンス
* @see HashMap#HashMap()
*/
public static HashMap newHashMap() {
return new HashMap();
}
/**
* {@link HashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link HashMap}のキーの型
* @param
* {@link HashMap}の値の型
* @param initialCapacity
* 初期容量
* @return {@link HashMap}の新しいインスタンス
* @see HashMap#HashMap(int)
*/
public static HashMap newHashMap(final int initialCapacity) {
return new HashMap(initialCapacity);
}
/**
* {@link HashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link HashMap}のキーの型
* @param
* {@link HashMap}の値の型
* @param initialCapacity
* 初期容量
* @param loadFactor
* サイズ変更の制御に使用される負荷係数のしきい値
* @return {@link HashMap}の新しいインスタンス
* @see HashMap#HashMap(int, float)
*/
public static HashMap newHashMap(final int initialCapacity, final float loadFactor) {
return new HashMap(initialCapacity, loadFactor);
}
/**
* {@link HashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link HashMap}のキーの型
* @param
* {@link HashMap}の値の型
* @param m
* 作成されるマップに配置されるマップ
* @return {@link HashMap}の新しいインスタンス
* @see HashMap#HashMap(int, float)
*/
public static HashMap newHashMap(final Map extends K, ? extends V> m) {
return new HashMap(m);
}
/**
* {@link HashSet}の新しいインスタンスを作成して返します。
*
* @param
* {@link HashSet}の要素型
* @return {@link HashSet}の新しいインスタンス
* @see HashSet#HashSet()
*/
public static HashSet newHashSet() {
return new HashSet();
}
/**
* {@link HashSet}の新しいインスタンスを作成して返します。
*
* @param
* {@link HashSet}の要素型
* @param c
* 要素がセットに配置されるコレクション
* @return {@link HashSet}の新しいインスタンス
* @see HashSet#HashSet()
*/
public static HashSet newHashSet(final Collection extends E> c) {
return new HashSet(c);
}
/**
* {@link HashSet}の新しいインスタンスを作成して返します。
*
* @param
* {@link HashSet}の要素型
* @param initialCapacity
* 初期容量
* @return {@link HashSet}の新しいインスタンス
* @see HashSet#HashSet()
*/
public static HashSet newHashSet(final int initialCapacity) {
return new HashSet(initialCapacity);
}
/**
* {@link HashSet}の新しいインスタンスを作成して返します。
*
* @param
* {@link HashSet}の要素型
* @param initialCapacity
* 初期容量
* @param loadFactor
* 負荷係数
* @return {@link HashSet}の新しいインスタンス
* @see HashSet#HashSet()
*/
public static HashSet newHashSet(final int initialCapacity, final float loadFactor) {
return new HashSet(initialCapacity, loadFactor);
}
/**
* {@link Hashtable}の新しいインスタンスを作成して返します。
*
* @param
* {@link Hashtable}のキーの型
* @param
* {@link Hashtable}の値の型
* @return {@link Hashtable}の新しいインスタンス
* @see Hashtable#Hashtable()
*/
public static Hashtable newHashtable() {
return new Hashtable();
}
/**
* {@link Hashtable}の新しいインスタンスを作成して返します。
*
* @param
* {@link Hashtable}のキーの型
* @param
* {@link Hashtable}の値の型
* @param initialCapacity
* ハッシュテーブルの初期容量
* @return {@link Hashtable}の新しいインスタンス
* @see Hashtable#Hashtable(int)
*/
public static Hashtable newHashtable(final int initialCapacity) {
return new Hashtable(initialCapacity);
}
/**
* {@link Hashtable}の新しいインスタンスを作成して返します。
*
* @param
* {@link Hashtable}のキーの型
* @param
* {@link Hashtable}の値の型
* @param initialCapacity
* ハッシュテーブルの初期容量
* @param loadFactor
* ハッシュテーブルの負荷係数
* @return {@link Hashtable}の新しいインスタンス
* @see Hashtable#Hashtable(int, float)
*/
public static Hashtable newHashtable(final int initialCapacity, final float loadFactor) {
return new Hashtable(initialCapacity, loadFactor);
}
/**
* {@link Hashtable}の新しいインスタンスを作成して返します。
*
* @param
* {@link Hashtable}のキーの型
* @param
* {@link Hashtable}の値の型
* @param m
* 作成されるマップに配置されるマップ
* @return {@link Hashtable}の新しいインスタンス
* @see Hashtable#Hashtable(Map)
*/
public static Hashtable newHashtable(final Map extends K, ? extends V> m) {
return new Hashtable(m);
}
/**
* {@link IdentityHashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link IdentityHashMap}のキーの型
* @param
* {@link IdentityHashMap}の値の型
* @return {@link IdentityHashMap}の新しいインスタンス
* @see IdentityHashMap#IdentityHashMap()
*/
public static IdentityHashMap newIdentityHashMap() {
return new IdentityHashMap();
}
/**
* {@link IdentityHashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link IdentityHashMap}のキーの型
* @param
* {@link IdentityHashMap}の値の型
* @param expectedMaxSize
* マップの予想最大サイズ
* @return {@link IdentityHashMap}の新しいインスタンス
* @see IdentityHashMap#IdentityHashMap(int)
*/
public static IdentityHashMap newIdentityHashMap(final int expectedMaxSize) {
return new IdentityHashMap(expectedMaxSize);
}
/**
* {@link IdentityHashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link IdentityHashMap}のキーの型
* @param
* {@link IdentityHashMap}の値の型
* @param m
* 作成されるマップに配置されるマップ
* @return {@link IdentityHashMap}の新しいインスタンス
* @see IdentityHashMap#IdentityHashMap(Map)
*/
public static IdentityHashMap newIdentityHashMap(final Map extends K, ? extends V> m) {
return new IdentityHashMap(m);
}
/**
* {@link LinkedBlockingQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedBlockingQueue}の要素型
* @return {@link LinkedBlockingQueue}の新しいインスタンス
* @see LinkedBlockingQueue#LinkedBlockingQueue()
*/
public static LinkedBlockingQueue newLinkedBlockingQueue() {
return new LinkedBlockingQueue();
}
/**
* {@link LinkedBlockingQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedBlockingQueue}の要素型
* @param c
* 最初に含む要素のコレクション
* @return {@link LinkedBlockingQueue}の新しいインスタンス
* @see LinkedBlockingQueue#LinkedBlockingQueue(Collection)
*/
public static LinkedBlockingQueue newLinkedBlockingQueue(final Collection extends E> c) {
return new LinkedBlockingQueue(c);
}
/**
* {@link LinkedBlockingQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedBlockingQueue}の要素型
* @param initialCapacity
* このキューの容量
* @return {@link LinkedBlockingQueue}の新しいインスタンス
* @see LinkedBlockingQueue#LinkedBlockingQueue(int)
*/
public static LinkedBlockingQueue newLinkedBlockingQueue(final int initialCapacity) {
return new LinkedBlockingQueue(initialCapacity);
}
/**
* {@link LinkedHashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedHashMap}のキーの型
* @param
* {@link LinkedHashMap}の値の型
* @return {@link LinkedHashMap}の新しいインスタンス
* @see LinkedHashMap#LinkedHashMap()
*/
public static LinkedHashMap newLinkedHashMap() {
return new LinkedHashMap();
}
/**
* {@link LinkedHashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedHashMap}のキーの型
* @param
* {@link LinkedHashMap}の値の型
* @param initialCapacity
* 初期容量
* @return {@link LinkedHashMap}の新しいインスタンス
* @see LinkedHashMap#LinkedHashMap(int)
*/
public static LinkedHashMap newLinkedHashMap(final int initialCapacity) {
return new LinkedHashMap(initialCapacity);
}
/**
* {@link LinkedHashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedHashMap}のキーの型
* @param
* {@link LinkedHashMap}の値の型
* @param initialCapacity
* 初期容量
* @param loadFactor
* 負荷係数
* @return {@link LinkedHashMap}の新しいインスタンス
* @see LinkedHashMap#LinkedHashMap(int, float)
*/
public static LinkedHashMap newLinkedHashMap(final int initialCapacity, final float loadFactor) {
return new LinkedHashMap(initialCapacity, loadFactor);
}
/**
* {@link LinkedHashMap}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedHashMap}のキーの型
* @param
* {@link LinkedHashMap}の値の型
* @param m
* 作成されるマップに配置されるマップ
* @return {@link LinkedHashMap}の新しいインスタンス
* @see LinkedHashMap#LinkedHashMap(Map)
*/
public static LinkedHashMap newLinkedHashMap(final Map extends K, ? extends V> m) {
return new LinkedHashMap(m);
}
/**
* {@link LinkedHashSet}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedHashSet}の要素型
* @return {@link LinkedHashSet}の新しいインスタンス
* @see LinkedHashSet#LinkedHashSet()
*/
public static LinkedHashSet newLinkedHashSet() {
return new LinkedHashSet();
}
/**
* {@link LinkedHashSet}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedHashSet}の要素型
* @param c
* 要素がセットに配置されるコレクション
* @return {@link LinkedHashSet}の新しいインスタンス
* @see LinkedHashSet#LinkedHashSet(Collection)
*/
public static LinkedHashSet newLinkedHashSet(final Collection extends E> c) {
return new LinkedHashSet(c);
}
/**
* {@link LinkedHashSet}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedHashSet}の要素型
* @param initialCapacity
* 初期容量
* @return {@link LinkedHashSet}の新しいインスタンス
* @see LinkedHashSet#LinkedHashSet(int)
*/
public static LinkedHashSet newLinkedHashSet(final int initialCapacity) {
return new LinkedHashSet(initialCapacity);
}
/**
* {@link LinkedHashSet}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedHashSet}の要素型
* @param initialCapacity
* 初期容量
* @param loadFactor
* 負荷係数
* @return {@link LinkedHashSet}の新しいインスタンス
* @see LinkedHashSet#LinkedHashSet(int, float)
*/
public static LinkedHashSet newLinkedHashSet(final int initialCapacity, final float loadFactor) {
return new LinkedHashSet(initialCapacity, loadFactor);
}
/**
* {@link LinkedList}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedList}の要素型
* @return {@link LinkedList}の新しいインスタンス
* @see LinkedList#LinkedList()
*/
public static LinkedList newLinkedList() {
return new LinkedList();
}
/**
* {@link LinkedList}の新しいインスタンスを作成して返します。
*
* @param
* {@link LinkedList}の要素型
* @param c
* 要素がリストに配置されるコレクション
* @return {@link LinkedList}の新しいインスタンス
* @see LinkedList#LinkedList(Collection)
*/
public static LinkedList newLinkedList(final Collection extends E> c) {
return new LinkedList(c);
}
/**
* {@link PriorityBlockingQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link PriorityBlockingQueue}の要素型
* @return {@link PriorityBlockingQueue}の新しいインスタンス
* @see PriorityBlockingQueue#PriorityBlockingQueue()
*/
public static PriorityBlockingQueue newPriorityBlockingQueue() {
return new PriorityBlockingQueue();
}
/**
* {@link PriorityBlockingQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link PriorityBlockingQueue}の要素型
* @param c
* 最初に含む要素のコレクション
* @return {@link PriorityBlockingQueue}の新しいインスタンス
* @see PriorityBlockingQueue#PriorityBlockingQueue(Collection)
*/
public static PriorityBlockingQueue newPriorityBlockingQueue(final Collection extends E> c) {
return new PriorityBlockingQueue(c);
}
/**
* {@link PriorityBlockingQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link PriorityBlockingQueue}の要素型
* @param initialCapacity
* この優先度キューの初期容量
* @return {@link PriorityBlockingQueue}の新しいインスタンス
* @see PriorityBlockingQueue#PriorityBlockingQueue(int)
*/
public static PriorityBlockingQueue newPriorityBlockingQueue(final int initialCapacity) {
return new PriorityBlockingQueue(initialCapacity);
}
/**
* {@link PriorityBlockingQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link PriorityBlockingQueue}の要素型
* @param initialCapacity
* この優先度キューの初期容量
* @param comparator
* この優先度キューの順序付けに使用するコンパレータ
* @return {@link PriorityBlockingQueue}の新しいインスタンス
* @see PriorityBlockingQueue#PriorityBlockingQueue(int, Comparator)
*/
public static PriorityBlockingQueue newPriorityBlockingQueue(final int initialCapacity, final Comparator super E> comparator) {
return new PriorityBlockingQueue(initialCapacity, comparator);
}
/**
* {@link PriorityQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link PriorityQueue}の要素型
* @return {@link PriorityQueue}の新しいインスタンス
* @see PriorityQueue#PriorityQueue()
*/
public static PriorityQueue newPriorityQueue() {
return new PriorityQueue();
}
/**
* {@link PriorityQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link PriorityQueue}の要素型
* @param c
* 要素が優先度キューに配置されるコレクション
* @return {@link PriorityQueue}の新しいインスタンス
* @see PriorityQueue#PriorityQueue(Collection)
*/
public static PriorityQueue newPriorityQueue(final Collection extends E> c) {
return new PriorityQueue(c);
}
/**
* {@link PriorityQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link PriorityQueue}の要素型
* @param initialCapacity
* この優先度キューの初期容量
* @return {@link PriorityQueue}の新しいインスタンス
* @see PriorityQueue#PriorityQueue(int)
*/
public static PriorityQueue newPriorityQueue(final int initialCapacity) {
return new PriorityQueue(initialCapacity);
}
/**
* {@link PriorityQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link PriorityQueue}の要素型
* @param initialCapacity
* この優先度キューの初期容量
* @param comparator
* この優先度キューの順序付けに使用するコンパレータ
* @return {@link PriorityQueue}の新しいインスタンス
* @see PriorityQueue#PriorityQueue(int, Comparator)
*/
public static PriorityQueue newPriorityQueue(final int initialCapacity, final Comparator super E> comparator) {
return new PriorityQueue(initialCapacity, comparator);
}
/**
* {@link PriorityQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link PriorityQueue}の要素型
* @param c
* 要素が優先度キューに配置されるコレクション
* @return {@link PriorityQueue}の新しいインスタンス
* @see PriorityQueue#PriorityQueue(PriorityQueue)
*/
public static PriorityQueue newPriorityQueue(final PriorityQueue extends E> c) {
return new PriorityQueue(c);
}
/**
* {@link PriorityQueue}の新しいインスタンスを作成して返します。
*
* @param
* {@link PriorityQueue}の要素型
* @param c
* 要素が優先度キューに配置されるコレクション
* @return {@link PriorityQueue}の新しいインスタンス
* @see PriorityQueue#PriorityQueue(SortedSet)
*/
public static PriorityQueue newPriorityQueue(final SortedSet extends E> c) {
return new PriorityQueue(c);
}
/**
* {@link Stack}の新しいインスタンスを作成して返します。
*
* @param
* {@link Stack}の要素型
* @return {@link Stack}の新しいインスタンス
* @see Stack#Stack()
*/
public static Stack newStack() {
return new Stack();
}
/**
* {@link TreeMap}の新しいインスタンスを作成して返します。
*
* @param