appendix> util> Collections TOPUPPREVNEXT

java.util.Collections

【主な機能】

コレクションを取り扱う static メソッドを提供します。

処理の対象が null の場合、 NullPointerException をスローします。

【継承】

   java.lang.Object 
      └ java.util.Collections
   

【フィールド】

定数意味
static List EMPTY_LIST 空のリスト
static Map EMPTY_MAP 空のマップ
static Set EMPTY_SET 空のセット

【メソッド】

このクラスのメソッドは全て static なのでメソッド欄に表記すべき static を省略しました。 メソッド欄の先頭の <T> や <E> 等は、 型のパラメータ で、 コレクションの要素の型(クラス名)に対応します。 概要欄に [5.0] とあるのは、J2SE 5.0 で提供されたメソッドです。 それ以外は 1.21.4 で提供され、 型のパラメータについて 5.0 で拡張されています。

メソッド概要
<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 (
List<? extends T> list ,
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 )
clistms に対する挿入に対して動的に型検査をし、 typevalueType 以外の型の要素を挿入しようとすると 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 に要素をコピーします。 srcdest は同じ長さでなければいけません。
dest が短い場合は IndexOutOfBoundsException がスローされます。 dest のイテレータがに set メソッドが無い場合、 UnsupportedOperationException がスローされます。
boolean disjoint (
Collection<?> c1,
Collection<?> c2 )
c1c2 に共通の要素が無い場合 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 を使用している古いプログラムのための機能。
<T extends Object & Comparable<? super T>> max (
Collection<? extends T> c )
コレクション ccompareTo で比較した場合の最大値。
文字列の例 (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 を コンパレータ cpcompare で比較した場合の最大値。
文字列の例 (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 )
コレクション ccompareTo で比較した場合の最小値。
<T> T min (
Collection<? extends T> c,
Comparator<? super T> cp )
コレクション c を コンパレータ cpcompare で比較した場合の最小値。
<T> List<T> nCopies (
int n,
T o )
on 個詰まった(ように振舞う不変の)リスト。
<T> boolean replaceAll (
List<T> list,
T oldValue,
T newValuet )
リスト listoldValuenewValue で置き換えます。
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,Vkeyval を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 )
リスト listi 番目と 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