appendix> util> Collections | TOPUPPREVNEXT |
処理の対象が null の場合、 NullPointerException をスローします。
java.lang.Object
└ java.util.Collections
定数 | 意味 |
---|---|
static List EMPTY_LIST | 空のリスト |
static Map EMPTY_MAP | 空のマップ |
static Set EMPTY_SET | 空のセット |
メソッド | 概要 |
---|---|
<T> boolean addAll (
Collection<? super T> c , T ... a ) |
コレクション c に、要素 a を挿入します。
ひとつでも挿入が成功した場合 true 、 ひとつも挿入できなければ false になります。 [5.0] 例 |
<T> int binarySearch (
List<? extends Comparable<? super T>> list , T key ) |
2分探索法
で、リスト list から 要素 key を検索します。
比較には、Comparable インターフェースとして実装されている CompareTo が使われます。 リストの要素は CompareTo で比較したときに昇順になっていなければいけません。 通常 Collections.sort(list) でソートしておきます。 同じ要素が複数ある場合、どれが見つかるかはきまっていません。 見つかった場合はその要素のインデックスが返されます。 見つからなかった場合は、−(挿入点)-1 が返されます。 挿入点とは、list.add(挿入点,key) で追加すればソートされた状態がたもたれるインデックスをいいます。 つまり、key より大きく key にもっとも近い要素のインデックスか、全要素が key より小さい場合は list.size() となります。 返された値を ind としたとき、 ind が非負であれば、list.get( ind ) が見つかった要素であり、 ind が負であれば、見つからなかったことが判り、 要素 key を挿入するのであれば list.add(-ind-1, key) とすればよいことになります。 例 リストに比較可能でない要素がある場合や、key と list の要素が比較可能でないとき ClassCastException がスローされます。 |
<T> int binarySearch (
T key, Comparator<? super T> cp ) |
2分探索法
で、リスト list から 要素 key を検索します。 上記との違いは、比較が compareTo ではなく、 Comparator cp であたえられた compare メソッドで行われる点です。 したがってソートも Collections.sort(list, cp) で行っておきます。 例 |
<E> Collection<E> checkedCollection (
Collection<E> c, Class<E> type ) |
c、 list、 m、 s に対する挿入に対して動的に型検査をし、 type や valueType 以外の型の要素を挿入しようとすると ClassCastException をスローするようなビューを返します。 [5.0] |
<E> List<E> checkedList (
List<E> list, Class<E> type ) |
|
<K,V> Map<K,V> checkedMap (
Map<K,V> m, Class<K> keyType, Class<V> valueType ) |
|
<E> Set<E> checkedSet (
Set<E> s, Class<E> type ) |
|
<K,V> SortedMap<K,V> checkedSortedMap (
SortedMap<K,V> m, Class<K> keyType, Class<V> valueType ) |
|
<E> SortedSet<E> checkedSortedSet (
SortedSet<E> s, Class<E> type ) |
|
<T> void copy (
List<? super T> dest, List<? super T> src ) |
src から dest
に要素をコピーします。
src と dest
は同じ長さでなければいけません。
dest が短い場合は IndexOutOfBoundsException がスローされます。 dest のイテレータがに set メソッドが無い場合、 UnsupportedOperationException がスローされます。 |
boolean disjoint (
Collection<?> c1, Collection<?> c2 ) |
c1 と c2 に共通の要素が無い場合 true 。 [5.0] |
<T> List<T> emptyList ( ) | 空のリスト、マップ、セット。 要素の追加はできません。[5.0] 例 EmptyTest1T.java |
<K,V> Map<K,V> emptyMap ( ) | |
<T> Set<T> emptySet ( ) | |
<T> Enumeration<T> enumeration (
Collection<T> c ) |
旧バージョンとの互換のための機能。 Iterator を使いましょう。 |
<T> void fill (
List<? super T> list, T obj ) |
リスト list の全要素を obj で置き換えます。
例(J2SE 5.0) FillTest1T.java 例(J2SE 1.4) FillTest1.java |
int frequency (
Collection<?> c, Object o ) |
コレクション c の要素で o に等しい ( equals となる )ものが何個あるかを返します。 [5.0] |
int indexOfSubList (
List<?> souce, List<?> target ) |
リスト source の要素の列の最初に現れたサブリスト
target の位置を返します。 例 (J2SE 1.4) SubListTest1.java 例 (J2SE 5.0) SubListTest1T.java |
int lastIndexOfSubList (
List<?> source, List<?> target ) |
リスト source の要素の列に現れたサブリスト
target のうち最後のものの位置を返します。 例 (J2SE 1.4) SubListTest2.java 例 (J2SE 5.0) SubListTest2T.java |
<T> ArrayList<T> list (
Enumeration<T> e ) |
Enumeration を使用している古いプログラムのための機能。 |
Collection<? extends T> c ) |
コレクション c を compareTo で比較した場合の最大値。
文字列の例 (J2SE 1.4) MaxDemo2.java オブジェクトの例 (J2SE 1.4) MaxDemo3.java オブジェクトの例 (J2SE 5.0) MaxDemo3T.java |
<T> T max (
Collection<? extends T> c, Comparator<? super T> cp ) |
コレクション c を
コンパレータ cp の compare で比較した場合の最大値。
文字列の例 (J2SE 1.4) MaxDemo4.java オブジェクトの例 (J2SE 1.4) MaxDemo5.java オブジェクトの例 (J2SE 5.0) MaxDemo5T.java |
<T extends Object & Comparable<? super T>> min (
Collection<? extends T> c ) |
コレクション c を compareTo で比較した場合の最小値。 |
<T> T min (
Collection<? extends T> c, Comparator<? super T> cp ) |
コレクション c を コンパレータ cp の compare で比較した場合の最小値。 |
<T> List<T> nCopies (
int n, T o ) |
o が n 個詰まった(ように振舞う不変の)リスト。 |
<T> boolean replaceAll (
List<T> list, T oldValue, T newValuet ) |
リスト list の oldValue を newValue で置き換えます。 |
void reverse (
List<?> list ) |
リスト list を逆順にします。 |
<T> Comparator<T> reverseOrder ( ) |
compareTo の逆順に順序づけるコンパレータを返します。
たとえば Collections.sort と 組み合わせてアルファベットの逆順にソートする場合に用いられます。 例 SortDemo8T.java (J2SE 5.0) |
<T> Comparator<T> reverseOrder (
Comparator<T> cp ) |
コンパレータ cp の逆順に判定するコンパレータを返します。 [5.0] cp が null の場合は reversoOrder() と同じ。 例 SortDemo9T.java (J2SE 5.0) |
void rotate (
List<T> list , int distance ) |
リスト list の要素を巡回的に n 個ずらします。
n が正であれば右に、 負であれば左にずらされます。 例 RotateTest1.java |
void shuffle (
List<T> list ) |
標準の擬似乱数を用いて list をランダムに並べ替えます。 |
void shuffle (
List<T> list, Random ran ) |
擬似乱数
ran を用いて、 リスト list
をランダムに並べ替えます。
例1 SuffleDemo1.java (J2SE 5.0) 例2 SuffleDemo2.java (J2SE 5.0) 再現性のある入れ替え |
<T> Set<T> singleton ( T o ) | 型 T のオブジェクト o 1つだけからなる不変のセットやリスト、あるいは、 型 K,V の key と val を1組だけもつ不変のマップ。 |
<T> List<T> singletonList ( T o ) | |
<K,V> Map<K,V> singletonMap ( K key , V val ) | |
<T extends Comparable<? super T>> sort (
List<T> list ) |
リスト list を CompareTo で比較し整列します。
等しい要素の順序は入れ替わらない(安定な整列という)ことが保障されています。
アルゴリズムは配列上で実行される修正マージソートで、 N・log(N) 時間の処理が保障されています。 例 SortDemo1.java (J2SE 1.4) 例 SortDemo1T.java (J2SE 5.0) 相互に比較可能でない要素が含まれる場合 ClassCastException 、 リストのイテレータが set メソッドをサポートしていない場合 UnsupportedOperationException がスローされます。 |
<T> sort (
List<T> list, Comparator<? super T> cp ) |
コンパレータ cp で与えられる compare メソッドで比較し整列します。
それ以外は上記の sort と同じです。 例 SortDemo2T.java (J2SE 5.0) |
void swap (
List<?> list, int i, int j ) |
リスト list の i 番目と j 番目を入れ替えます。 |
<T> Collection<T> synchronizedCollection (
Collection<T> c ) |
指定されたコレクションを同期化します。
同時に更新される可能性のあるコレクションはこれらの関数でラップして使用しなければいけません。
Collection c =
Collections.synchronizedCollection(originalCollection);
...synchronized(c) {
Iterator i = c.iterator();
}... i.hasNext() ... i.next() ... |
<T> List<T> synchronizedList (
List<T> list ) |
|
<K,V> Map<K,V> synchronizedMap (
Map<K,V> m ) |
|
<T> List<T> synchronizedSet (
Set<T> s ) |
|
<K,V> SortedMap<K,V> synchronizedSortedMap (
SortedMap<K,V> m ) |
|
<T> SortedSet<T> synchronizedSortedSet (
SortedSet<T> s ) |
|
<T> Collection<T> unmodifiableCollection (
Collection<? extends T> c ) |
指定されたコレクションの変更不可能なビューを返します。 |
<T> List<T> unmodifiableList (
List<? extends T> list ) |
|
<K,V> Map<K,V> unmodifiableMap (
Map<? extends k, ? extends V> m ) |
|
<T> Set<T> unmodifiableSet (
Set<? extends T> s ) |
|
<K,V> SortedMap<K,V> unmodifiableSortedMap (
SortedMap<K, ? extends V> m ) |
|
<T> SortedSet<T> unmodifiableSortedSet (
SortedSet<T> s ) |
更新日:2005-07-20