パッケージ org.springframework.util
クラス CollectionUtils
java.lang.ObjectSE
org.springframework.util.CollectionUtils
色々なコレクションユーティリティメソッド。主にフレームワーク内での内部利用を目的としています。
- 導入:
- 1.1.3
- 作成者:
- Juergen Hoeller, Rob Harrop, Arjen Poutsma
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明static ListSE<?>
arrayToList
(ObjectSE source) 指定された配列をリストに変換します。static <K,
V> MapSE<K, V> compositeMap
(MapSE<K, V> first, MapSE<K, V> second) 提供された 2 つのマップを組み合わせた (部分的に変更不可能な) マップを返します。static <K,
V> MapSE<K, V> compositeMap
(MapSE<K, V> first, MapSE<K, V> second, BiFunctionSE<K, V, V> putFunction, ConsumerSE<MapSE<K, V>> putAllFunction) 提供されたマップを組み合わせたマップを返します。static boolean
contains
(EnumerationSE<?> enumeration, ObjectSE element) 指定された列挙に指定された要素が含まれているかどうかを確認します。static boolean
contains
(IteratorSE<?> iterator, ObjectSE element) 指定された Iterator に指定された要素が含まれているかどうかを確認します。static boolean
containsAny
(CollectionSE<?> source, CollectionSE<?> candidates) 'candidates
' の要素が 'source
' に含まれている場合、true
を返します。それ以外の場合はfalse
を返します。static boolean
containsInstance
(CollectionSE<?> collection, ObjectSE element) 指定されたコレクションに指定された要素インスタンスが含まれているかどうかを確認します。static ClassSE<?>
findCommonElementType
(CollectionSE<?> collection) 指定されたコレクションの共通要素型があれば、それを見つけます。static <E> E
findFirstMatch
(CollectionSE<?> source, CollectionSE<E> candidates) 'source
' に含まれる 'candidates
' の最初の要素を返します。static ObjectSE
findValueOfType
(CollectionSE<?> collection, ClassSE<?>[] types) 指定されたコレクション内の指定された型のいずれかの単一の値を検索します。最初の型の値をコレクションで検索し、次に 2 番目の型の値を検索します。static <T> T
findValueOfType
(CollectionSE<?> collection, ClassSE<T> type) 指定されたコレクションで指定された型の単一の値を見つけます。static <T> T
firstElement
(ListSE<T> list) ゼロインデックスにアクセスして、指定されたリストの最初の要素を取得します。static <T> T
firstElement
(SetSE<T> set) SortedSet.first()
またはイテレータを使用して、指定されたセットの最初の要素を取得します。static boolean
hasUniqueObject
(CollectionSE<?> collection) 指定されたコレクションに単一の一意のオブジェクトのみが含まれているかどうかを判断します。static boolean
isEmpty
(CollectionSE<?> collection) 指定されたコレクションがnull
または空の場合、true
を返します。static boolean
指定されたマップがnull
または空の場合、true
を返します。static <T> T
lastElement
(ListSE<T> list) 指定されたリストの最後の要素を取得し、最高のインデックスにアクセスします。static <T> T
lastElement
(SetSE<T> set) SortedSet.last()
を使用するか、他の方法ですべての要素を反復する(リンクされたセットを想定)、指定されたセットの最後の要素を取得します。static <E> void
mergeArrayIntoCollection
(ObjectSE array, CollectionSE<E> collection) 指定された配列を指定されたコレクションにマージします。static <K,
V> void mergePropertiesIntoMap
(PropertiesSE props, MapSE<K, V> map) 指定された Properties インスタンスを指定された Map にマージし、すべてのプロパティ(キーと値のペア)をコピーします。static <K,
V> HashMapSE<K, V> newHashMap
(int expectedSize) すぐにサイズ変更 / 再ハッシュ操作を行うことなく、指定された数の要素に対応できる初期容量で新しいHashMap
SE をインスタンス化します。static <E> HashSetSE<E>
newHashSet
(int expectedSize) すぐにサイズ変更 / 再ハッシュ操作を行うことなく、指定された数の要素に対応できる初期容量で新しいHashSet
SE をインスタンス化します。static <K,
V> LinkedHashMapSE<K, V> newLinkedHashMap
(int expectedSize) すぐにサイズ変更 / 再ハッシュ操作を行うことなく、指定された数の要素に対応できる初期容量で新しいLinkedHashMap
SE をインスタンス化します。static <E> LinkedHashSetSE<E>
newLinkedHashSet
(int expectedSize) すぐにサイズ変更 / 再ハッシュ操作を行うことなく、指定された数の要素に対応できる初期容量で新しいLinkedHashSet
SE をインスタンス化します。static <A,
E extends A>
A[]toArray
(EnumerationSE<E> enumeration, A[] array) 指定された列挙の要素を指定された型の配列にマーシャリングします。static <E> IteratorSE<E>
toIterator
(EnumerationSE<E> enumeration) Enumeration
SE をIterator
SE に適合させます。static <K,
V> MultiValueMap<K, V> toMultiValueMap
(MapSE<K, ListSE<V>> targetMap) Map<K, List<V>>
をMultiValueMap<K, V>
に適合させます。static <K,
V> MultiValueMap<K, V> unmodifiableMultiValueMap
(MultiValueMap<? extends K, ? extends V> targetMap) 指定された複数値マップの変更不可能なビューを返します。
コンストラクターの詳細
CollectionUtils
public CollectionUtils()
メソッドの詳細
isEmpty
指定されたコレクションがnull
または空の場合、true
を返します。それ以外の場合は、false
を返します。- パラメーター:
collection
- チェックするコレクション- 戻り値:
- 指定されたコレクションが空かどうか
isEmpty
指定されたマップがnull
または空の場合、true
を返します。それ以外の場合は、false
を返します。- パラメーター:
map
- チェックするマップ- 戻り値:
- 指定されたマップが空かどうか
newHashMap
すぐにサイズ変更 / 再ハッシュ操作を行うことなく、指定された数の要素に対応できる初期容量で新しいHashMap
SE をインスタンス化します。これは、負荷係数に関連して初期容量を取得するが、JDK の
ConcurrentHashMap(int)
SE と効果的に整合する通常のHashMap
SE コンストラクターとは異なります。- パラメーター:
expectedSize
- 予想される要素数 (サイズ変更 / 再ハッシュ操作が不要になるように、対応する容量が導出されます)- 導入:
- 5.3
- 関連事項:
newLinkedHashMap
すぐにサイズ変更 / 再ハッシュ操作を行うことなく、指定された数の要素に対応できる初期容量で新しいLinkedHashMap
SE をインスタンス化します。これは、負荷係数に関連して初期容量を取得する通常の
LinkedHashMap
SE コンストラクターとは異なりますが、5.3 の時点で Spring 独自のLinkedCaseInsensitiveMap
およびLinkedMultiValueMap
コンストラクターのセマンティクスと整合しています。- パラメーター:
expectedSize
- 予想される要素数 (サイズ変更 / 再ハッシュ操作が不要になるように、対応する容量が導出されます)- 導入:
- 5.3
- 関連事項:
newHashSet
すぐにサイズ変更 / 再ハッシュ操作を行うことなく、指定された数の要素に対応できる初期容量で新しいHashSet
SE をインスタンス化します。- パラメーター:
expectedSize
- 予想される要素数 (サイズ変更 / 再ハッシュ操作が不要になるように、対応する容量が導出されます)- 導入:
- 6.2
- 関連事項:
newLinkedHashSet
すぐにサイズ変更 / 再ハッシュ操作を行うことなく、指定された数の要素に対応できる初期容量で新しいLinkedHashSet
SE をインスタンス化します。- パラメーター:
expectedSize
- 予想される要素数 (サイズ変更 / 再ハッシュ操作が不要になるように、対応する容量が導出されます)- 導入:
- 6.2
- 関連事項:
arrayToList
指定された配列をリストに変換します。プリミティブ配列は、適切なラッパー型のリストに変換されます。注意 : 一般に、標準の
Arrays.asList(T...)
SE 方式を好みます。このarrayToList
メソッドは、実行時にObject[]
またはプリミティブ配列である可能性のある受信 Object 値を処理するためのものです。null
ソース値は空のリストに変換されます。- パラメーター:
source
- (潜在的にプリミティブな)配列- 戻り値:
- 変換されたリストの結果
- 関連事項:
mergeArrayIntoCollection
public static <E> void mergeArrayIntoCollection(@Nullable ObjectSE array, CollectionSE<E> collection) 指定された配列を指定されたコレクションにマージします。- パラメーター:
array
- マージする配列 (null
の場合があります)collection
- 配列をマージするターゲットコレクション
mergePropertiesIntoMap
指定された Properties インスタンスを指定された Map にマージし、すべてのプロパティ(キーと値のペア)をコピーします。Properties.propertyNames()
を使用して、元の Properties インスタンスにリンクされたデフォルトプロパティをキャッチします。- パラメーター:
props
- マージする Properties インスタンス (null
の場合があります)map
- プロパティをマージするターゲットマップ
contains
指定された Iterator に指定された要素が含まれているかどうかを確認します。- パラメーター:
iterator
- チェックするイテレータelement
- 探す要素- 戻り値:
true
が見つかった場合、false
が見つからない場合
contains
指定された列挙に指定された要素が含まれているかどうかを確認します。- パラメーター:
enumeration
- チェックする列挙element
- 探す要素- 戻り値:
true
が見つかった場合、false
が見つからない場合
containsInstance
指定されたコレクションに指定された要素インスタンスが含まれているかどうかを確認します。等しい要素に対して
true
を返すのではなく、指定されたインスタンスが存在するように強制します。- パラメーター:
collection
- チェックするコレクションelement
- 探す要素- 戻り値:
true
が見つかった場合、false
が見つからない場合
containsAny
'candidates
' の要素が 'source
' に含まれている場合、true
を返します。それ以外の場合はfalse
を返します。- パラメーター:
source
- ソースコレクションcandidates
- 検索する候補- 戻り値:
- 候補が見つかったかどうか
findFirstMatch
'source
' に含まれる 'candidates
' の最初の要素を返します。"candidates
" の要素が "source
" に存在しない場合、null
を返します。反復順序はCollection
SE 実装固有です。- パラメーター:
source
- ソースコレクションcandidates
- 検索する候補- 戻り値:
- 最初に存在するオブジェクト、または
null
が見つからない場合
findValueOfType
@Nullable public static <T> T findValueOfType(CollectionSE<?> collection, @Nullable ClassSE<T> type) 指定されたコレクションで指定された型の単一の値を見つけます。- パラメーター:
collection
- 検索するコレクションtype
- 探す型- 戻り値:
- 明確な一致がある場合は特定の型の値が見つかり、そのような値が見つからないか複数の場合は
null
findValueOfType
指定されたコレクション内の指定された型のいずれかの単一の値を検索します。最初の型の値をコレクションで検索し、次に 2 番目の型の値を検索します。- パラメーター:
collection
- 検索するコレクションtypes
- 検索する型、優先順位順- 戻り値:
- 明確な一致がある場合に見つかった指定された型のいずれかの値、またはそのような値が見つからないか複数の場合に
null
hasUniqueObject
指定されたコレクションに単一の一意のオブジェクトのみが含まれているかどうかを判断します。- パラメーター:
collection
- チェックするコレクション- 戻り値:
- コレクションに同じインスタンスへの単一の参照または複数の参照が含まれる場合は
true
、そうでない場合はfalse
findCommonElementType
指定されたコレクションの共通要素型があれば、それを見つけます。- パラメーター:
collection
- チェックするコレクション- 戻り値:
- 共通要素型、または明確な共通型が見つからない場合は
null
(またはコレクションが空でした)
firstElement
SortedSet.first()
またはイテレータを使用して、指定されたセットの最初の要素を取得します。- パラメーター:
set
- チェックするセット (null
または空の場合があります)- 戻り値:
- 最初の要素、または存在しない場合は
null
- 導入:
- 5.2.3
- 関連事項:
firstElement
ゼロインデックスにアクセスして、指定されたリストの最初の要素を取得します。- パラメーター:
list
- 確認するリスト (null
または空の場合があります)- 戻り値:
- 最初の要素、または存在しない場合は
null
- 導入:
- 5.2.3
lastElement
SortedSet.last()
を使用するか、他の方法ですべての要素を反復する(リンクされたセットを想定)、指定されたセットの最後の要素を取得します。- パラメーター:
set
- チェックするセット (null
または空の場合があります)- 戻り値:
- 最後の要素、または存在しない場合は
null
- 導入:
- 5.0.3
- 関連事項:
lastElement
指定されたリストの最後の要素を取得し、最高のインデックスにアクセスします。- パラメーター:
list
- 確認するリスト (null
または空の場合があります)- 戻り値:
- 最後の要素、または存在しない場合は
null
- 導入:
- 5.0.3
toArray
指定された列挙の要素を指定された型の配列にマーシャリングします。列挙要素は、指定された配列の型に割り当て可能でなければなりません。返される配列は、指定された配列とは異なるインスタンスになります。toIterator
Enumeration
SE をIterator
SE に適合させます。- パラメーター:
enumeration
- 元のEnumeration
- 戻り値:
- 適応した
Iterator
toMultiValueMap
Map<K, List<V>>
をMultiValueMap<K, V>
に適合させます。- パラメーター:
targetMap
- 元の地図- 戻り値:
- 適応された多値マップ (元のマップをラップする)
- 導入:
- 3.1
unmodifiableMultiValueMap
public static <K,V> MultiValueMap<K,V> unmodifiableMultiValueMap(MultiValueMap<? extends K, ? extends V> targetMap) 指定された複数値マップの変更不可能なビューを返します。- パラメーター:
targetMap
- 変更不可能なビューが返されるマップ。- 戻り値:
- 指定された複数値マップの変更不可能なビュー
- 導入:
- 3.1
compositeMap
提供された 2 つのマップを組み合わせた (部分的に変更不可能な) マップを返します。返されたマップでMap.put(Object, Object)
SE またはMap.putAll(Map)
SE を呼び出すと、UnsupportedOperationException
SE が生成されます。キーの衝突が発生した場合、
first
がsecond
よりも優先されます。つまり、first
によってもマップされているキーを持つsecond
のエントリは実質的に無視されます。- パラメーター:
first
- 最初に作成した地図second
- 2 番目に作成するマップ- 戻り値:
- 与えられた 2 つのマップを合成する新しいマップ
- 導入:
- 6.2
compositeMap
public static <K,V> MapSE<K,V> compositeMap(MapSE<K, V> first, MapSE<K, V> second, @Nullable BiFunctionSE<K, V, V> putFunction, @Nullable ConsumerSE<MapSE<K, V>> putAllFunction) 提供されたマップを組み合わせたマップを返します。返されたマップでMap.put(Object, Object)
SE を呼び出すと、putFunction
が適用されるか、UnsupportedOperationException
SEputFunction
がnull
としてスローされます。同じことがMap.putAll(Map)
SE とputAllFunction
にも当てはまります。キーの衝突が発生した場合、
first
がsecond
よりも優先されます。つまり、first
によってもマップされているキーを持つsecond
のエントリは実質的に無視されます。- パラメーター:
first
- 最初に作成した地図second
- 2 番目に作成するマップputFunction
-Map::put
が呼び出されたときに適用されます。null
の場合、Map::put
はUnsupportedOperationException
をスローします。putAllFunction
-Map::putAll
が呼び出されたときに適用されます。null
の場合、Map::putAll
はUnsupportedOperationException
をスローします。- 戻り値:
- ギブマップを構成する新しいマップ
- 導入:
- 6.2