public class Arrays extends Object
指定された配列参照が null の場合、それ以外の処理が明示されている場合を除き、このクラスのメソッドはすべて NullPointerException
をスローします。
このクラスにある検索メソッドのドキュメントには、実装の簡単な説明が含まれています。この説明は、仕様の一部ではなく実装情報と考えてください。実装者は、仕様に反しないかぎり、ほかのアルゴリズムを自由に使用できます。たとえば、sort(Object[])
が使用するアルゴリズムはマージソートである必要はありませんが、固定 (stable) のアルゴリズムでなければいけません。
このクラスは、Java Collections Framework のメンバーです。
修飾子と型 | メソッドと説明 |
---|---|
static <T> List<T> |
asList(T... a)
指定された配列に連動する固定サイズのリストを返します。
|
static int |
binarySearch(byte[] a, byte key)
バイナリサーチアルゴリズムを使用して、指定された byte 値の配列から指定された値を検索します。
|
static int |
binarySearch(byte[] a, int fromIndex, int toIndex, byte key)
バイナリサーチアルゴリズムを使用して、指定された byte 値の配列から指定された値の範囲を検索します。
|
static int |
binarySearch(char[] a, char key)
バイナリサーチアルゴリズムを使用して、指定された char 値の配列から指定された値を検索します。
|
static int |
binarySearch(char[] a, int fromIndex, int toIndex, char key)
バイナリサーチアルゴリズムを使用して、指定された char 値の配列から指定された値の範囲を検索します。
|
static int |
binarySearch(double[] a, double key)
バイナリサーチアルゴリズムを使用して、指定された double 値の配列から指定された値を検索します。
|
static int |
binarySearch(double[] a, int fromIndex, int toIndex, double key)
バイナリサーチアルゴリズムを使用して、指定された double 値の配列から指定された値の範囲を検索します。
|
static int |
binarySearch(float[] a, float key)
バイナリサーチアルゴリズムを使用して、指定された float 値の配列から指定された値を検索します。
|
static int |
binarySearch(float[] a, int fromIndex, int toIndex, float key)
バイナリサーチアルゴリズムを使用して、指定された float 値の配列から指定された値の範囲を検索します。
|
static int |
binarySearch(int[] a, int key)
バイナリサーチアルゴリズムを使用して、指定された int 値の配列から指定された値を検索します。
|
static int |
binarySearch(int[] a, int fromIndex, int toIndex, int key)
バイナリサーチアルゴリズムを使用して、指定された int 値の配列から指定された値の範囲を検索します。
|
static int |
binarySearch(long[] a, int fromIndex, int toIndex, long key)
バイナリサーチアルゴリズムを使用して、指定された long 値の配列から指定された値の範囲を検索します。
|
static int |
binarySearch(long[] a, long key)
バイナリサーチアルゴリズムを使用して、指定された long 値の配列から指定された値を検索します。
|
static int |
binarySearch(Object[] a, int fromIndex, int toIndex, Object key)
バイナリサーチアルゴリズムを使用して、指定された配列の範囲から指定されたオブジェクトを検索します。
|
static int |
binarySearch(Object[] a, Object key)
バイナリサーチアルゴリズムを使用して、指定された配列から指定されたオブジェクトを検索します。
|
static int |
binarySearch(short[] a, int fromIndex, int toIndex, short key)
バイナリサーチアルゴリズムを使用して、指定された short 値の配列から指定された値の範囲を検索します。
|
static int |
binarySearch(short[] a, short key)
バイナリサーチアルゴリズムを使用し、指定された short 値の配列から指定された値を検索します。
|
static <T> int |
binarySearch(T[] a, int fromIndex, int toIndex, T key, Comparator<? super T> c)
バイナリサーチアルゴリズムを使用して、指定された配列の範囲から指定されたオブジェクトを検索します。
|
static <T> int |
binarySearch(T[] a, T key, Comparator<? super T> c)
バイナリサーチアルゴリズムを使用して、指定された配列から指定されたオブジェクトを検索します。
|
static boolean[] |
copyOf(boolean[] original, int newLength)
指定された配列をコピーし、そのコピーが指定された長さになるように、必要に応じて切り詰めるか false でパディングします。
|
static byte[] |
copyOf(byte[] original, int newLength)
指定された配列をコピーし、そのコピーが指定された長さになるように、必要に応じて切り詰めるかゼロでパディングします。
|
static char[] |
copyOf(char[] original, int newLength)
指定された配列をコピーし、そのコピーが指定された長さになるように、必要に応じて切り詰めるか null 文字でパディングします。
|
static double[] |
copyOf(double[] original, int newLength)
指定された配列をコピーし、そのコピーが指定された長さになるように、必要に応じて切り詰めるかゼロでパディングします。
|
static float[] |
copyOf(float[] original, int newLength)
指定された配列をコピーし、そのコピーが指定された長さになるように、必要に応じて切り詰めるかゼロでパディングします。
|
static int[] |
copyOf(int[] original, int newLength)
指定された配列をコピーし、そのコピーが指定された長さになるように、必要に応じて切り詰めるかゼロでパディングします。
|
static long[] |
copyOf(long[] original, int newLength)
指定された配列をコピーし、そのコピーが指定された長さになるように、必要に応じて切り詰めるかゼロでパディングします。
|
static short[] |
copyOf(short[] original, int newLength)
指定された配列をコピーし、そのコピーが指定された長さになるように、必要に応じて切り詰めるかゼロでパディングします。
|
static <T> T[] |
copyOf(T[] original, int newLength)
指定された配列をコピーし、そのコピーが指定された長さになるように、必要に応じて切り詰めるか null でパディングします。
|
static <T,U> T[] |
copyOf(U[] original, int newLength, Class<? extends T[]> newType)
指定された配列をコピーし、そのコピーが指定された長さになるように、必要に応じて切り詰めるか null でパディングします。
|
static boolean[] |
copyOfRange(boolean[] original, int from, int to)
指定された配列の指定された範囲を新しい配列にコピーします。
|
static byte[] |
copyOfRange(byte[] original, int from, int to)
指定された配列の指定された範囲を新しい配列にコピーします。
|
static char[] |
copyOfRange(char[] original, int from, int to)
指定された配列の指定された範囲を新しい配列にコピーします。
|
static double[] |
copyOfRange(double[] original, int from, int to)
指定された配列の指定された範囲を新しい配列にコピーします。
|
static float[] |
copyOfRange(float[] original, int from, int to)
指定された配列の指定された範囲を新しい配列にコピーします。
|
static int[] |
copyOfRange(int[] original, int from, int to)
指定された配列の指定された範囲を新しい配列にコピーします。
|
static long[] |
copyOfRange(long[] original, int from, int to)
指定された配列の指定された範囲を新しい配列にコピーします。
|
static short[] |
copyOfRange(short[] original, int from, int to)
指定された配列の指定された範囲を新しい配列にコピーします。
|
static <T> T[] |
copyOfRange(T[] original, int from, int to)
指定された配列の指定された範囲を新しい配列にコピーします。
|
static <T,U> T[] |
copyOfRange(U[] original, int from, int to, Class<? extends T[]> newType)
指定された配列の指定された範囲を新しい配列にコピーします。
|
static boolean |
deepEquals(Object[] a1, Object[] a2)
2 つの指定された配列が相互に深層で等価な場合、true を返します。
|
static int |
deepHashCode(Object[] a)
指定された配列の「深層内容」に基づくハッシュコードを返します。
|
static String |
deepToString(Object[] a)
指定された配列の「深層内容」の文字列表現を返します。
|
static boolean |
equals(boolean[] a, boolean[] a2)
指定された 2 つの boolean 値の配列が互いに同等である場合に true を返します。
|
static boolean |
equals(byte[] a, byte[] a2)
指定された 2 つの byte 値の配列が互いに同等である場合に true を返します。
|
static boolean |
equals(char[] a, char[] a2)
指定された 2 つの char 値の配列が互いに同等である場合に true を返します。
|
static boolean |
equals(double[] a, double[] a2)
指定された 2 つの double 値の配列が互いに同等である場合に true を返します。
|
static boolean |
equals(float[] a, float[] a2)
指定された 2 つの float 値の配列が互いに同等である場合に true を返します。
|
static boolean |
equals(int[] a, int[] a2)
指定された 2 つの int 値の配列が互いに同等である場合に true を返します。
|
static boolean |
equals(long[] a, long[] a2)
指定された 2 つの long 値の配列が互いに同等である場合に true を返します。
|
static boolean |
equals(Object[] a, Object[] a2)
指定された 2 つの Object の配列が互いに同等である場合に true を返します。
|
static boolean |
equals(short[] a, short[] a2)
指定された 2 つの short 値の配列が互いに同等である場合に true を返します。
|
static void |
fill(boolean[] a, boolean val)
指定された boolean 値の配列の各要素に、指定された boolean 値を代入します。
|
static void |
fill(boolean[] a, int fromIndex, int toIndex, boolean val)
boolean 値で指定された配列の中で、指定された範囲にある各要素に、指定された boolean 値を割り当てます。
|
static void |
fill(byte[] a, byte val)
指定された byte 値の配列の各要素に、指定された byte 値を代入します。
|
static void |
fill(byte[] a, int fromIndex, int toIndex, byte val)
byte 値で指定された配列の中で、指定された範囲にある各要素に、指定された byte 値を割り当てます。
|
static void |
fill(char[] a, char val)
指定された char 値の配列の各要素に、指定された char 値を代入します。
|
static void |
fill(char[] a, int fromIndex, int toIndex, char val)
char 値で指定された配列の中で、指定された範囲にある各要素に、指定された char 値を割り当てます。
|
static void |
fill(double[] a, double val)
指定された double 値の配列の各要素に、指定された double 値を代入します。
|
static void |
fill(double[] a, int fromIndex, int toIndex, double val)
double 値で指定された配列の中で、指定された範囲にある各要素に、指定された double 値を割り当てます。
|
static void |
fill(float[] a, float val)
指定された float 値の配列の各要素に、指定された float 値を代入します。
|
static void |
fill(float[] a, int fromIndex, int toIndex, float val)
float 値で指定された配列の中で、指定された範囲にある各要素に、指定された float 値を割り当てます。
|
static void |
fill(int[] a, int val)
指定された int 値の配列の各要素に、指定された int 値を代入します。
|
static void |
fill(int[] a, int fromIndex, int toIndex, int val)
int 値で指定された配列の中で、指定された範囲にある各要素に、指定された int 値を割り当てます。
|
static void |
fill(long[] a, int fromIndex, int toIndex, long val)
long 値で指定された配列の中で、指定された範囲にある各要素に、指定された long 値を割り当てます。
|
static void |
fill(long[] a, long val)
指定された long 値の配列の各要素に、指定された long 値を代入します。
|
static void |
fill(Object[] a, int fromIndex, int toIndex, Object val)
指定された Object の配列で、指定された範囲にある各要素に、指定された Object 参照を代入します。
|
static void |
fill(Object[] a, Object val)
指定された Object の配列の各要素に、指定された Object 参照を代入します。
|
static void |
fill(short[] a, int fromIndex, int toIndex, short val)
short 値で指定された配列の中で、指定された範囲にある各要素に、指定された short 値を割り当てます。
|
static void |
fill(short[] a, short val)
指定された short 値の配列の各要素に、指定された short 値を代入します。
|
static int |
hashCode(boolean[] a)
指定された配列の内容に基づくハッシュコードを返します。
|
static int |
hashCode(byte[] a)
指定された配列の内容に基づくハッシュコードを返します。
|
static int |
hashCode(char[] a)
指定された配列の内容に基づくハッシュコードを返します。
|
static int |
hashCode(double[] a)
指定された配列の内容に基づくハッシュコードを返します。
|
static int |
hashCode(float[] a)
指定された配列の内容に基づくハッシュコードを返します。
|
static int |
hashCode(int[] a)
指定された配列の内容に基づくハッシュコードを返します。
|
static int |
hashCode(long[] a)
指定された配列の内容に基づくハッシュコードを返します。
|
static int |
hashCode(Object[] a)
指定された配列の内容に基づくハッシュコードを返します。
|
static int |
hashCode(short[] a)
指定された配列の内容に基づくハッシュコードを返します。
|
static void |
sort(byte[] a)
指定された配列を数値の昇順でソートします。
|
static void |
sort(byte[] a, int fromIndex, int toIndex)
指定された範囲の配列を昇順にソートします。
|
static void |
sort(char[] a)
指定された配列を数値の昇順でソートします。
|
static void |
sort(char[] a, int fromIndex, int toIndex)
指定された範囲の配列を昇順にソートします。
|
static void |
sort(double[] a)
指定された配列を数値の昇順でソートします。
|
static void |
sort(double[] a, int fromIndex, int toIndex)
指定された範囲の配列を昇順にソートします。
|
static void |
sort(float[] a)
指定された配列を数値の昇順でソートします。
|
static void |
sort(float[] a, int fromIndex, int toIndex)
指定された範囲の配列を昇順にソートします。
|
static void |
sort(int[] a)
指定された配列を数値の昇順でソートします。
|
static void |
sort(int[] a, int fromIndex, int toIndex)
指定された範囲の配列を昇順にソートします。
|
static void |
sort(long[] a)
指定された配列を数値の昇順でソートします。
|
static void |
sort(long[] a, int fromIndex, int toIndex)
指定された範囲の配列を昇順にソートします。
|
static void |
sort(Object[] a)
指定されたオブジェクト配列を、その要素の自然順序付けに従って昇順にソートします。
|
static void |
sort(Object[] a, int fromIndex, int toIndex)
指定されたオブジェクト配列の指定された範囲を、その要素の自然順序付けに従って昇順にソートします。
|
static void |
sort(short[] a)
指定された配列を数値の昇順でソートします。
|
static void |
sort(short[] a, int fromIndex, int toIndex)
指定された範囲の配列を昇順にソートします。
|
static <T> void |
sort(T[] a, Comparator<? super T> c)
指定されたコンパレータが示す順序に従って、指定されたオブジェクトの配列をソートします。
|
static <T> void |
sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c)
指定されたコンパレータの順番に従って、指定されたオブジェクトの配列の指定範囲を昇順でソートします。
|
static String |
toString(boolean[] a)
指定された配列の文字列表現を返します。
|
static String |
toString(byte[] a)
指定された配列の文字列表現を返します。
|
static String |
toString(char[] a)
指定された配列の文字列表現を返します。
|
static String |
toString(double[] a)
指定された配列の文字列表現を返します。
|
static String |
toString(float[] a)
指定された配列の文字列表現を返します。
|
static String |
toString(int[] a)
指定された配列の文字列表現を返します。
|
static String |
toString(long[] a)
指定された配列の文字列表現を返します。
|
static String |
toString(Object[] a)
指定された配列の文字列表現を返します。
|
static String |
toString(short[] a)
指定された配列の文字列表現を返します。
|
public static void sort(int[] a)
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列public static void sort(int[] a, int fromIndex, int toIndex)
fromIndex
(これを含む) からインデックス toIndex
(これを含まない) までとなります。fromIndex == toIndex
の場合、ソート範囲は空になります。
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列fromIndex
- ソートされる最初の要素 (これを含む) のインデックスtoIndex
- ソートされる最後の要素 (これを含まない) のインデックスIllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0
または toIndex > a.length
の場合public static void sort(long[] a)
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列public static void sort(long[] a, int fromIndex, int toIndex)
fromIndex
(これを含む) からインデックス toIndex
(これを含まない) までとなります。fromIndex == toIndex
の場合、ソート範囲は空になります。
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列fromIndex
- ソートされる最初の要素 (これを含む) のインデックスtoIndex
- ソートされる最後の要素 (これを含まない) のインデックスIllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0
または toIndex > a.length
の場合public static void sort(short[] a)
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列public static void sort(short[] a, int fromIndex, int toIndex)
fromIndex
(これを含む) からインデックス toIndex
(これを含まない) までとなります。fromIndex == toIndex
の場合、ソート範囲は空になります。
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列fromIndex
- ソートされる最初の要素 (これを含む) のインデックスtoIndex
- ソートされる最後の要素 (これを含まない) のインデックスIllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0
または toIndex > a.length
の場合public static void sort(char[] a)
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列public static void sort(char[] a, int fromIndex, int toIndex)
fromIndex
(これを含む) からインデックス toIndex
(これを含まない) までとなります。fromIndex == toIndex
の場合、ソート範囲は空になります。
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列fromIndex
- ソートされる最初の要素 (これを含む) のインデックスtoIndex
- ソートされる最後の要素 (これを含まない) のインデックスIllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0
または toIndex > a.length
の場合public static void sort(byte[] a)
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列public static void sort(byte[] a, int fromIndex, int toIndex)
fromIndex
(これを含む) からインデックス toIndex
(これを含まない) までとなります。fromIndex == toIndex
の場合、ソート範囲は空になります。
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列fromIndex
- ソートされる最初の要素 (これを含む) のインデックスtoIndex
- ソートされる最後の要素 (これを含まない) のインデックスIllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0
または toIndex > a.length
の場合public static void sort(float[] a)
<
のリレーションは、すべての浮動小数点値に関する全体順序付けを提供しません。つまり、-0.0f == 0.0f
は true
であり、Float.NaN
値はあらゆる値やそれ自体と比較しても、それ以下でも以上でも等値でもありません。このメソッドは、Float.compareTo(java.lang.Float)
メソッドが行う全体順序付けを使用します。つまり、-0.0f
は値 0.0f
未満として扱われ、Float.NaN
はほかのどの値よりも大きいとみなされ、すべての Float.NaN
値は等価とみなされます。
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列public static void sort(float[] a, int fromIndex, int toIndex)
fromIndex
(これを含む) からインデックス toIndex
(これを含まない) までとなります。fromIndex == toIndex
の場合、ソート範囲は空になります。
<
のリレーションは、すべての浮動小数点値に関する全体順序付けを提供しません。つまり、-0.0f == 0.0f
は true
であり、Float.NaN
値はあらゆる値やそれ自体と比較しても、それ以下でも以上でも等値でもありません。このメソッドは、Float.compareTo(java.lang.Float)
メソッドが行う全体順序付けを使用します。つまり、-0.0f
は値 0.0f
未満として扱われ、Float.NaN
はほかのどの値よりも大きいとみなされ、すべての Float.NaN
値は等価とみなされます。
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列fromIndex
- ソートされる最初の要素 (これを含む) のインデックスtoIndex
- ソートされる最後の要素 (これを含まない) のインデックスIllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0
または toIndex > a.length
の場合public static void sort(double[] a)
<
のリレーションは、すべての double 値に関する全体順序付けを提供しません。つまり、-0.0d == 0.0d
は true
であり、Double.NaN
値はあらゆる値やそれ自体と比較しても、それ以下でも以上でも等値でもありません。このメソッドは、Double.compareTo(java.lang.Double)
メソッドが行う全体順序付けを使用します。つまり、-0.0d
は値 0.0d
未満として扱われ、Double.NaN
はほかのどの値よりも大きいとみなされ、すべての Double.NaN
値は等価とみなされます。
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列public static void sort(double[] a, int fromIndex, int toIndex)
fromIndex
(これを含む) からインデックス toIndex
(これを含まない) までとなります。fromIndex == toIndex
の場合、ソート範囲は空になります。
<
のリレーションは、すべての double 値に関する全体順序付けを提供しません。つまり、-0.0d == 0.0d
は true
であり、Double.NaN
値はあらゆる値やそれ自体と比較しても、それ以下でも以上でも等値でもありません。このメソッドは、Double.compareTo(java.lang.Double)
メソッドが行う全体順序付けを使用します。つまり、-0.0d
は値 0.0d
未満として扱われ、Double.NaN
はほかのどの値よりも大きいとみなされ、すべての Double.NaN
値は等価とみなされます。
実装にあたっての注意:ソートアルゴリズムは、Vladimir Yaroslavskiy 氏、Jon Bentley 氏、および Joshua Bloch 氏による Dual-Pivot Quicksort です。このアルゴリズムは、ほかのクイックソートアルゴリズムでは n の 2 乗のパフォーマンスに低下させる多くのデータセットで、O(n log(n)) のパフォーマンスを提供し、一般的に従来の (1 ピボットの) Quicksort の実装よりも高速です。
a
- ソートされる配列fromIndex
- ソートされる最初の要素 (これを含む) のインデックスtoIndex
- ソートされる最後の要素 (これを含まない) のインデックスIllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0
または toIndex > a.length
の場合public static void sort(Object[] a)
Comparable
インタフェースを実装する必要があります。また、配列のすべての要素は、相互に比較可能でなければいけません。つまり、配列の要素が e1
および e2
の場合に、e1.compareTo(e2)
で ClassCastException
をスローすべきではありません。
このソートは固定であることが保証されています。つまり、ソートを実行しても、同等の要素の順序は変わりません。
実装にあたっての注意:この実装は安定した適応型の反復マージソートです。このソートでは、入力配列がランダムに順序付けられる場合は従来のマージソートのパフォーマンスを提供しながら、入力配列が部分的にソートされている場合は必要となる比較回数が n lg(n) よりもかなり少なくなります。入力配列がほとんどソートされている場合、この実装ではおよそ n 回の比較が必要になります。一時ストレージの要件は、ほとんどソートされている入力配列用の小さな定数から、ランダムに順序付けられた入力配列用の n/2 のオブジェクト参照までさまざまです。
この実装では、その入力配列で昇順と降順を等しく利用するため、同じ入力配列のさまざまな部分で昇順と降順を利用できます。それは 2 つ以上のソートされた配列をマージするのに最適です。つまり、それらの配列を連結し、結果となる配列をソートするだけです。
この実装は、Tim Peters 氏による Python 用のリストソート (TimSort) から応用されました。それは、『Proceedings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms』(1993 年 1 月) の 467 - 474 ページに記載されている、Peter McIlroy 氏の「Optimistic Sorting and Information Theoretic Complexity」からの技術を採用しています。
a
- ソートされる配列ClassCastException
- 配列に相互に比較可能でない要素 (たとえば、文字列と整数) がある場合IllegalArgumentException
- (オプション) 配列要素の自然順序付けが Comparable
の規約に違反していることが検出された場合public static void sort(Object[] a, int fromIndex, int toIndex)
fromIndex
(これを含む) からインデックス toIndex
(これを含まない) までとなります。fromIndex==toIndex
の場合、ソート範囲は空になります。この範囲のすべての要素は Comparable
インタフェースを実装する必要があります。また、この範囲のすべての要素は、相互に比較可能でなければいけません。つまり、配列の要素が e1
および e2
の場合に、e1.compareTo(e2)
で ClassCastException
をスローすべきではありません。
このソートは固定であることが保証されています。つまり、ソートを実行しても、同等の要素の順序は変わりません。
実装にあたっての注意:この実装は安定した適応型の反復マージソートです。このソートでは、入力配列がランダムに順序付けられる場合は従来のマージソートのパフォーマンスを提供しながら、入力配列が部分的にソートされている場合は必要となる比較回数が n lg(n) よりもかなり少なくなります。入力配列がほとんどソートされている場合、この実装ではおよそ n 回の比較が必要になります。一時ストレージの要件は、ほとんどソートされている入力配列用の小さな定数から、ランダムに順序付けられた入力配列用の n/2 のオブジェクト参照までさまざまです。
この実装では、その入力配列で昇順と降順を等しく利用するため、同じ入力配列のさまざまな部分で昇順と降順を利用できます。それは 2 つ以上のソートされた配列をマージするのに最適です。つまり、それらの配列を連結し、結果となる配列をソートするだけです。
この実装は、Tim Peters 氏による Python 用のリストソート (TimSort) から応用されました。それは、『Proceedings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms』(1993 年 1 月) の 467 - 474 ページに記載されている、Peter McIlroy 氏の「Optimistic Sorting and Information Theoretic Complexity」からの技術を採用しています。
a
- ソートされる配列fromIndex
- ソートされる最初の要素 (これを含む) のインデックスtoIndex
- ソートされる最後の要素 (これを含まない) のインデックスIllegalArgumentException
- fromIndex > toIndex
の場合、または配列要素の自然順序付けが Comparable
の規約に違反していることが検出された場合 (オプション)ArrayIndexOutOfBoundsException
- fromIndex < 0
または toIndex > a.length
の場合ClassCastException
- 配列に相互に比較可能でない要素 (たとえば、文字列と整数) がある場合。public static <T> void sort(T[] a, Comparator<? super T> c)
e1
および e2
の場合に、c.compare(e1, e2)
で ClassCastException
をスローすべきではありません。
このソートは固定であることが保証されています。つまり、ソートを実行しても、同等の要素の順序は変わりません。
実装にあたっての注意:この実装は安定した適応型の反復マージソートです。このソートでは、入力配列がランダムに順序付けられる場合は従来のマージソートのパフォーマンスを提供しながら、入力配列が部分的にソートされている場合は必要となる比較回数が n lg(n) よりもかなり少なくなります。入力配列がほとんどソートされている場合、この実装ではおよそ n 回の比較が必要になります。一時ストレージの要件は、ほとんどソートされている入力配列用の小さな定数から、ランダムに順序付けられた入力配列用の n/2 のオブジェクト参照までさまざまです。
この実装では、その入力配列で昇順と降順を等しく利用するため、同じ入力配列のさまざまな部分で昇順と降順を利用できます。それは 2 つ以上のソートされた配列をマージするのに最適です。つまり、それらの配列を連結し、結果となる配列をソートするだけです。
この実装は、Tim Peters 氏による Python 用のリストソート (TimSort) から応用されました。それは、『Proceedings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms』(1993 年 1 月) の 467 - 474 ページに記載されている、Peter McIlroy 氏の「Optimistic Sorting and Information Theoretic Complexity」からの技術を採用しています。
a
- ソートされる配列c
- 配列の順序を決定するコンパレータ。null
値は、要素の自然順序付けが使用されることを示す。ClassCastException
- 配列に、指定されたコンパレータで相互に比較できない要素がある場合IllegalArgumentException
- (オプション) コンパレータが Comparator
の規約に違反していることが検出された場合public static <T> void sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c)
fromIndex
(これを含む) からインデックス toIndex
(これを含まない) までとなります。fromIndex==toIndex
の場合、ソート範囲は空になります。範囲のすべての要素は、指定されたコンパレータで相互に比較可能でなければいけません。つまり、範囲の要素が e1
および e2
の場合に、c.compare(e1, e2)
で ClassCastException
をスローすべきではありません。
このソートは固定であることが保証されています。つまり、ソートを実行しても、同等の要素の順序は変わりません。
実装にあたっての注意:この実装は安定した適応型の反復マージソートです。このソートでは、入力配列がランダムに順序付けられる場合は従来のマージソートのパフォーマンスを提供しながら、入力配列が部分的にソートされている場合は必要となる比較回数が n lg(n) よりもかなり少なくなります。入力配列がほとんどソートされている場合、この実装ではおよそ n 回の比較が必要になります。一時ストレージの要件は、ほとんどソートされている入力配列用の小さな定数から、ランダムに順序付けられた入力配列用の n/2 のオブジェクト参照までさまざまです。
この実装では、その入力配列で昇順と降順を等しく利用するため、同じ入力配列のさまざまな部分で昇順と降順を利用できます。それは 2 つ以上のソートされた配列をマージするのに最適です。つまり、それらの配列を連結し、結果となる配列をソートするだけです。
この実装は、Tim Peters 氏による Python 用のリストソート (TimSort) から応用されました。それは、『Proceedings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms』(1993 年 1 月) の 467 - 474 ページに記載されている、Peter McIlroy 氏の「Optimistic Sorting and Information Theoretic Complexity」からの技術を採用しています。
a
- ソートされる配列fromIndex
- ソートされる最初の要素 (これを含む) のインデックスtoIndex
- ソートされる最後の要素 (これを含まない) のインデックスc
- 配列の順序を決定するコンパレータ。null
値は、要素の自然順序付けが使用されることを示す。ClassCastException
- 配列に、指定されたコンパレータで相互に比較できない要素がある場合。IllegalArgumentException
- fromIndex > toIndex
の場合、またはコンパレータが Comparator
の規約に違反していることが検出された場合 (オプション)ArrayIndexOutOfBoundsException
- fromIndex < 0
または toIndex > a.length
の場合public static int binarySearch(long[] a, long key)
sort(long[])
メソッドで配列をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素が配列に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列key
- 検索される値public static int binarySearch(long[] a, int fromIndex, int toIndex, long key)
sort(long[], int, int)
メソッドで範囲をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素がこの範囲に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列fromIndex
- 検索される最初の要素 (これを含む) のインデックスtoIndex
- 検索される最後の要素 (これを含まない) のインデックスkey
- 検索される値IllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 or toIndex > a.length
の場合public static int binarySearch(int[] a, int key)
sort(int[])
メソッドで配列をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素が配列に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列key
- 検索される値public static int binarySearch(int[] a, int fromIndex, int toIndex, int key)
sort(int[], int, int)
メソッドで範囲をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素がこの範囲に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列fromIndex
- 検索される最初の要素 (これを含む) のインデックスtoIndex
- 検索される最後の要素 (これを含まない) のインデックスkey
- 検索される値IllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 or toIndex > a.length
の場合public static int binarySearch(short[] a, short key)
sort(short[])
メソッドで配列をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素が配列に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列key
- 検索される値public static int binarySearch(short[] a, int fromIndex, int toIndex, short key)
sort(short[], int, int)
メソッドで範囲をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素がこの範囲に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列fromIndex
- 検索される最初の要素 (これを含む) のインデックスtoIndex
- 検索される最後の要素 (これを含まない) のインデックスkey
- 検索される値IllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 or toIndex > a.length
の場合public static int binarySearch(char[] a, char key)
sort(char[])
メソッドで配列をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素が配列に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列key
- 検索される値public static int binarySearch(char[] a, int fromIndex, int toIndex, char key)
sort(char[], int, int)
メソッドで範囲をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素がこの範囲に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列fromIndex
- 検索される最初の要素 (これを含む) のインデックスtoIndex
- 検索される最後の要素 (これを含まない) のインデックスkey
- 検索される値IllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 or toIndex > a.length
の場合public static int binarySearch(byte[] a, byte key)
sort(byte[])
メソッドで配列をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素が配列に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列key
- 検索される値public static int binarySearch(byte[] a, int fromIndex, int toIndex, byte key)
sort(byte[], int, int)
メソッドで範囲をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素がこの範囲に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列fromIndex
- 検索される最初の要素 (これを含む) のインデックスtoIndex
- 検索される最後の要素 (これを含まない) のインデックスkey
- 検索される値IllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 or toIndex > a.length
の場合public static int binarySearch(double[] a, double key)
sort(double[])
メソッドで配列をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素が配列に複数ある場合には、どれが検索されるかについての保証はありません。このメソッドではすべての NaN 値を等価とみなします。a
- 検索される配列key
- 検索される値public static int binarySearch(double[] a, int fromIndex, int toIndex, double key)
sort(double[], int, int)
メソッドで範囲をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素がこの範囲に複数ある場合には、どれが検索されるかについての保証はありません。このメソッドではすべての NaN 値を等価とみなします。a
- 検索される配列fromIndex
- 検索される最初の要素 (これを含む) のインデックスtoIndex
- 検索される最後の要素 (これを含まない) のインデックスkey
- 検索される値IllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 or toIndex > a.length
の場合public static int binarySearch(float[] a, float key)
sort(float[])
メソッドで配列をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素が配列に複数ある場合には、どれが検索されるかについての保証はありません。このメソッドではすべての NaN 値を等価とみなします。a
- 検索される配列key
- 検索される値public static int binarySearch(float[] a, int fromIndex, int toIndex, float key)
sort(float[], int, int)
メソッドで範囲をソートする必要があります。リストがソートされていない場合、結果は定義されません。指定された値を持つ要素がこの範囲に複数ある場合には、どれが検索されるかについての保証はありません。このメソッドではすべての NaN 値を等価とみなします。a
- 検索される配列fromIndex
- 検索される最初の要素 (これを含む) のインデックスtoIndex
- 検索される最後の要素 (これを含まない) のインデックスkey
- 検索される値IllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 or toIndex > a.length
の場合public static int binarySearch(Object[] a, Object key)
sort(Object[])
メソッドを使用して要素の自然順序付けに従って昇順にソートする必要があります。リストがソートされていない場合、結果は定義されません。配列が相互に比較可能でない要素、たとえば文字列や整数などである場合、配列はその要素の自然順序付けに従ってソートできず、結果は未定義です。指定されたオブジェクトと同等の要素が配列に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列key
- 検索される値ClassCastException
- 検索キーが配列の要素と同等でない場合。public static int binarySearch(Object[] a, int fromIndex, int toIndex, Object key)
sort(Object[], int, int)
メソッドを使用して要素の自然順序付けに従って昇順にソートする必要があります。リストがソートされていない場合、結果は定義されません。範囲が相互に比較可能でない要素、たとえば文字列や整数などである場合、配列はその要素の自然順序付けに従ってソートできず、結果は未定義です。指定されたオブジェクトと同等の要素が範囲に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列fromIndex
- 検索される最初の要素 (これを含む) のインデックスtoIndex
- 検索される最後の要素 (これを含まない) のインデックスkey
- 検索される値ClassCastException
- 検索キーが指定された範囲内の配列の要素と同等でない場合。IllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 or toIndex > a.length
の場合public static <T> int binarySearch(T[] a, T key, Comparator<? super T> c)
sort(T[], Comparator)
メソッドを使用して、指定されたコンパレータに従って昇順にソートしなければいけません。リストがソートされていない場合、結果は定義されません。指定されたオブジェクトと同等の要素が配列に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列key
- 検索される値c
- 配列が順序付けされるコンパレータ。null 値は、要素の自然順序付けが使用されることを示す。ClassCastException
- 指定されたコンパレータで相互に比較可能でない要素が配列に含まれている場合、あるいは検索キーがこのコンパレータで配列の要素と相互に比較できない場合。public static <T> int binarySearch(T[] a, int fromIndex, int toIndex, T key, Comparator<? super T> c)
sort(T[], int, int, Comparator)
メソッドを使用して、指定されたコンパレータに従って昇順にソートしなければいけません。リストがソートされていない場合、結果は定義されません。指定されたオブジェクトと同等の要素が範囲に複数ある場合には、どれが検索されるかについての保証はありません。a
- 検索される配列fromIndex
- 検索される最初の要素 (これを含む) のインデックスtoIndex
- 検索される最後の要素 (これを含まない) のインデックスkey
- 検索される値c
- 配列が順序付けされるコンパレータ。null 値は、要素の自然順序付けが使用されることを示す。ClassCastException
- 指定されたコンパレータで相互に比較可能でない要素が範囲に含まれている場合、あるいは検索キーがこのコンパレータで範囲の要素と相互に比較できない場合。IllegalArgumentException
- fromIndex > toIndex
の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 or toIndex > a.length
の場合public static boolean equals(long[] a, long[] a2)
a
- 同等であるかどうかを判定する 1 つめの配列a2
- 同等であるかどうかを判定する 2 つめの配列public static boolean equals(int[] a, int[] a2)
a
- 同等であるかどうかを判定する 1 つめの配列a2
- 同等であるかどうかを判定する 2 つめの配列public static boolean equals(short[] a, short[] a2)
a
- 同等であるかどうかを判定する 1 つめの配列a2
- 同等であるかどうかを判定する 2 つめの配列public static boolean equals(char[] a, char[] a2)
a
- 同等であるかどうかを判定する 1 つめの配列a2
- 同等であるかどうかを判定する 2 つめの配列public static boolean equals(byte[] a, byte[] a2)
a
- 同等であるかどうかを判定する 1 つめの配列a2
- 同等であるかどうかを判定する 2 つめの配列public static boolean equals(boolean[] a, boolean[] a2)
a
- 同等であるかどうかを判定する 1 つめの配列a2
- 同等であるかどうかを判定する 2 つめの配列public static boolean equals(double[] a, double[] a2)
2 つの double 値 d1 と d2 は、次の場合に同等とみなされます。
new Double(d1).equals(new Double(d2))演算子== と違って、このメソッドは NaN をそれ自身と同等とみなし、0.0d と -0.0d は同等とみなしません。
a
- 同等であるかどうかを判定する 1 つめの配列a2
- 同等であるかどうかを判定する 2 つめの配列Double.equals(Object)
public static boolean equals(float[] a, float[] a2)
次の場合において、2 つの float 値 f1 および f2 は同等となります。
new Float(f1).equals(new Float(f2))演算子== と違って、このメソッドは NaN をそれ自身と同等とみなし、0.0f と -0.0f は同等とみなしません。
a
- 同等であるかどうかを判定する 1 つめの配列a2
- 同等であるかどうかを判定する 2 つめの配列Float.equals(Object)
public static boolean equals(Object[] a, Object[] a2)
a
- 同等であるかどうかを判定する 1 つめの配列a2
- 同等であるかどうかを判定する 2 つめの配列public static void fill(long[] a, long val)
a
- 値を代入する配列val
- 配列のすべての要素に格納する値public static void fill(long[] a, int fromIndex, int toIndex, long val)
a
- 値を代入する配列fromIndex
- 指定された値を代入する最初の要素 (これを含む) のインデックスtoIndex
- 指定された値を代入する最後の要素 (これを含まない) のインデックスval
- 配列のすべての要素に格納する値IllegalArgumentException
- fromIndex > toIndex の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 または toIndex > a.length の場合public static void fill(int[] a, int val)
a
- 値を代入する配列val
- 配列のすべての要素に格納する値public static void fill(int[] a, int fromIndex, int toIndex, int val)
a
- 値を代入する配列fromIndex
- 指定された値を代入する最初の要素 (これを含む) のインデックスtoIndex
- 指定された値を代入する最後の要素 (これを含まない) のインデックスval
- 配列のすべての要素に格納する値IllegalArgumentException
- fromIndex > toIndex の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 または toIndex > a.length の場合public static void fill(short[] a, short val)
a
- 値を代入する配列val
- 配列のすべての要素に格納する値public static void fill(short[] a, int fromIndex, int toIndex, short val)
a
- 値を代入する配列fromIndex
- 指定された値を代入する最初の要素 (これを含む) のインデックスtoIndex
- 指定された値を代入する最後の要素 (これを含まない) のインデックスval
- 配列のすべての要素に格納する値IllegalArgumentException
- fromIndex > toIndex の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 または toIndex > a.length の場合public static void fill(char[] a, char val)
a
- 値を代入する配列val
- 配列のすべての要素に格納する値public static void fill(char[] a, int fromIndex, int toIndex, char val)
a
- 値を代入する配列fromIndex
- 指定された値を代入する最初の要素 (これを含む) のインデックスtoIndex
- 指定された値を代入する最後の要素 (これを含まない) のインデックスval
- 配列のすべての要素に格納する値IllegalArgumentException
- fromIndex > toIndex の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 または toIndex > a.length の場合public static void fill(byte[] a, byte val)
a
- 値を代入する配列val
- 配列のすべての要素に格納する値public static void fill(byte[] a, int fromIndex, int toIndex, byte val)
a
- 値を代入する配列fromIndex
- 指定された値を代入する最初の要素 (これを含む) のインデックスtoIndex
- 指定された値を代入する最後の要素 (これを含まない) のインデックスval
- 配列のすべての要素に格納する値IllegalArgumentException
- fromIndex > toIndex の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 または toIndex > a.length の場合public static void fill(boolean[] a, boolean val)
a
- 値を代入する配列val
- 配列のすべての要素に格納する値public static void fill(boolean[] a, int fromIndex, int toIndex, boolean val)
a
- 値を代入する配列fromIndex
- 指定された値を代入する最初の要素 (これを含む) のインデックスtoIndex
- 指定された値を代入する最後の要素 (これを含まない) のインデックスval
- 配列のすべての要素に格納する値IllegalArgumentException
- fromIndex > toIndex の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 または toIndex > a.length の場合public static void fill(double[] a, double val)
a
- 値を代入する配列val
- 配列のすべての要素に格納する値public static void fill(double[] a, int fromIndex, int toIndex, double val)
a
- 値を代入する配列fromIndex
- 指定された値を代入する最初の要素 (これを含む) のインデックスtoIndex
- 指定された値を代入する最後の要素 (これを含まない) のインデックスval
- 配列のすべての要素に格納する値IllegalArgumentException
- fromIndex > toIndex の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 または toIndex > a.length の場合public static void fill(float[] a, float val)
a
- 値を代入する配列val
- 配列のすべての要素に格納する値public static void fill(float[] a, int fromIndex, int toIndex, float val)
a
- 値を代入する配列fromIndex
- 指定された値を代入する最初の要素 (これを含む) のインデックスtoIndex
- 指定された値を代入する最後の要素 (これを含まない) のインデックスval
- 配列のすべての要素に格納する値IllegalArgumentException
- fromIndex > toIndex の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 または toIndex > a.length の場合public static void fill(Object[] a, Object val)
a
- 値を代入する配列val
- 配列のすべての要素に格納する値ArrayStoreException
- 指定された値が、指定された配列に格納できる実行時の型ではない場合public static void fill(Object[] a, int fromIndex, int toIndex, Object val)
a
- 値を代入する配列fromIndex
- 指定された値を代入する最初の要素 (これを含む) のインデックスtoIndex
- 指定された値を代入する最後の要素 (これを含まない) のインデックスval
- 配列のすべての要素に格納する値IllegalArgumentException
- fromIndex > toIndex の場合ArrayIndexOutOfBoundsException
- fromIndex < 0 または toIndex > a.length の場合ArrayStoreException
- 指定された値が、指定された配列に格納できる実行時の型ではない場合public static <T> T[] copyOf(T[] original, int newLength)
original
- コピーされる配列newLength
- 返されるコピーの長さNegativeArraySizeException
- newLength が負の値の場合NullPointerException
- original が null の場合public static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType)
original
- コピーされる配列newLength
- 返されるコピーの長さnewType
- 返されるコピーのクラスNegativeArraySizeException
- newLength が負の値の場合NullPointerException
- original が null の場合ArrayStoreException
- original からコピーされる要素が、newType クラスの配列に格納できる実行時の型ではない場合public static byte[] copyOf(byte[] original, int newLength)
original
- コピーされる配列newLength
- 返されるコピーの長さNegativeArraySizeException
- newLength が負の値の場合NullPointerException
- original が null の場合public static short[] copyOf(short[] original, int newLength)
original
- コピーされる配列newLength
- 返されるコピーの長さNegativeArraySizeException
- newLength が負の値の場合NullPointerException
- original が null の場合public static int[] copyOf(int[] original, int newLength)
original
- コピーされる配列newLength
- 返されるコピーの長さNegativeArraySizeException
- newLength が負の値の場合NullPointerException
- original が null の場合public static long[] copyOf(long[] original, int newLength)
original
- コピーされる配列newLength
- 返されるコピーの長さNegativeArraySizeException
- newLength が負の値の場合NullPointerException
- original が null の場合public static char[] copyOf(char[] original, int newLength)
original
- コピーされる配列newLength
- 返されるコピーの長さNegativeArraySizeException
- newLength が負の値の場合NullPointerException
- original が null の場合public static float[] copyOf(float[] original, int newLength)
original
- コピーされる配列newLength
- 返されるコピーの長さNegativeArraySizeException
- newLength が負の値の場合NullPointerException
- original が null の場合public static double[] copyOf(double[] original, int newLength)
original
- コピーされる配列newLength
- 返されるコピーの長さNegativeArraySizeException
- newLength が負の値の場合NullPointerException
- original が null の場合public static boolean[] copyOf(boolean[] original, int newLength)
original
- コピーされる配列newLength
- 返されるコピーの長さNegativeArraySizeException
- newLength が負の値の場合NullPointerException
- original が null の場合public static <T> T[] copyOfRange(T[] original, int from, int to)
結果として得られる配列のクラスは、元の配列とまったく同じものです。
original
- 範囲のコピー先となる配列from
- コピーされる範囲の最初のインデックス (これを含む)to
- コピーされる範囲の最後のインデックス (これを含まない)。(このインデックスは配列の外側に存在することもある。)ArrayIndexOutOfBoundsException
- from < 0
または from > original.length
の場合IllegalArgumentException
- from > to の場合NullPointerException
- original が null の場合public static <T,U> T[] copyOfRange(U[] original, int from, int to, Class<? extends T[]> newType)
original
- 範囲のコピー先となる配列from
- コピーされる範囲の最初のインデックス (これを含む)to
- コピーされる範囲の最後のインデックス (これを含まない)。(このインデックスは配列の外側に存在することもある。)newType
- 返されるコピーのクラスArrayIndexOutOfBoundsException
- from < 0
または from > original.length
の場合IllegalArgumentException
- from > to の場合NullPointerException
- original が null の場合ArrayStoreException
- original からコピーされる要素が、newType クラスの配列に格納できる実行時の型ではない場合。public static byte[] copyOfRange(byte[] original, int from, int to)
original
- 範囲のコピー先となる配列from
- コピーされる範囲の最初のインデックス (これを含む)to
- コピーされる範囲の最後のインデックス (これを含まない)。(このインデックスは配列の外側に存在することもある。)ArrayIndexOutOfBoundsException
- from < 0
または from > original.length
の場合IllegalArgumentException
- from > to の場合NullPointerException
- original が null の場合public static short[] copyOfRange(short[] original, int from, int to)
original
- 範囲のコピー先となる配列from
- コピーされる範囲の最初のインデックス (これを含む)to
- コピーされる範囲の最後のインデックス (これを含まない)。(このインデックスは配列の外側に存在することもある。)ArrayIndexOutOfBoundsException
- from < 0
または from > original.length
の場合IllegalArgumentException
- from > to の場合NullPointerException
- original が null の場合public static int[] copyOfRange(int[] original, int from, int to)
original
- 範囲のコピー先となる配列from
- コピーされる範囲の最初のインデックス (これを含む)to
- コピーされる範囲の最後のインデックス (これを含まない)。(このインデックスは配列の外側に存在することもある。)ArrayIndexOutOfBoundsException
- from < 0
または from > original.length
の場合IllegalArgumentException
- from > to の場合NullPointerException
- original が null の場合public static long[] copyOfRange(long[] original, int from, int to)
original
- 範囲のコピー先となる配列from
- コピーされる範囲の最初のインデックス (これを含む)to
- コピーされる範囲の最後のインデックス (これを含まない)。(このインデックスは配列の外側に存在することもある。)ArrayIndexOutOfBoundsException
- from < 0
または from > original.length
の場合IllegalArgumentException
- from > to の場合NullPointerException
- original が null の場合public static char[] copyOfRange(char[] original, int from, int to)
original
- 範囲のコピー先となる配列from
- コピーされる範囲の最初のインデックス (これを含む)to
- コピーされる範囲の最後のインデックス (これを含まない)。(このインデックスは配列の外側に存在することもある。)ArrayIndexOutOfBoundsException
- from < 0
または from > original.length
の場合IllegalArgumentException
- from > to の場合NullPointerException
- original が null の場合public static float[] copyOfRange(float[] original, int from, int to)
original
- 範囲のコピー先となる配列from
- コピーされる範囲の最初のインデックス (これを含む)to
- コピーされる範囲の最後のインデックス (これを含まない)。(このインデックスは配列の外側に存在することもある。)ArrayIndexOutOfBoundsException
- from < 0
または from > original.length
の場合IllegalArgumentException
- from > to の場合NullPointerException
- original が null の場合public static double[] copyOfRange(double[] original, int from, int to)
original
- 範囲のコピー先となる配列from
- コピーされる範囲の最初のインデックス (これを含む)to
- コピーされる範囲の最後のインデックス (これを含まない)。(このインデックスは配列の外側に存在することもある。)ArrayIndexOutOfBoundsException
- from < 0
または from > original.length
の場合IllegalArgumentException
- from > to の場合NullPointerException
- original が null の場合public static boolean[] copyOfRange(boolean[] original, int from, int to)
original
- 範囲のコピー先となる配列from
- コピーされる範囲の最初のインデックス (これを含む)to
- コピーされる範囲の最後のインデックス (これを含まない)。(このインデックスは配列の外側に存在することもある。)ArrayIndexOutOfBoundsException
- from < 0
または from > original.length
の場合IllegalArgumentException
- from > to の場合NullPointerException
- original が null の場合@SafeVarargs public static <T> List<T> asList(T... a)
Collection.toArray()
と組み合わせることで、配列ベースの API とコレクションベースの API の橋渡し役として機能します。また、返されるリストは直列化可能で、RandomAccess
を実装します。
このメソッドは、次の数種類の要素を含むように初期化する固定サイズのリストを作成するための便利な方法も提供します。
List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
a
- リストの基となる配列public static int hashCode(long[] a)
このメソッドが返す値は、a の要素を同じ順序で表現する Long
インスタンスのシーケンスを含む List
に対し、hashCode
メソッドを呼び出して取得する値と同じです。a が null の場合、このメソッドは 0 を返します。
a
- ハッシュ値を計算する配列public static int hashCode(int[] a)
このメソッドが返す値は、a の要素を同じ順序で表現する Integer
インスタンスのシーケンスを含む List
に対し、hashCode
メソッドを呼び出して取得する値と同じです。a が null の場合、このメソッドは 0 を返します。
a
- ハッシュ値を計算する配列public static int hashCode(short[] a)
このメソッドが返す値は、a の要素を同じ順序で表現する Short
インスタンスのシーケンスを含む List
に対し、hashCode
メソッドを呼び出して取得する値と同じです。a が null の場合、このメソッドは 0 を返します。
a
- ハッシュ値を計算する配列public static int hashCode(char[] a)
このメソッドが返す値は、a の要素を同じ順序で表現する Character
インスタンスのシーケンスを含む List
に対し、hashCode
メソッドを呼び出して取得する値と同じです。a が null の場合、このメソッドは 0 を返します。
a
- ハッシュ値を計算する配列public static int hashCode(byte[] a)
このメソッドが返す値は、a の要素を同じ順序で表現する Byte
インスタンスのシーケンスを含む List
に対し、hashCode
メソッドを呼び出して取得する値と同じです。a が null の場合、このメソッドは 0 を返します。
a
- ハッシュ値を計算する配列public static int hashCode(boolean[] a)
このメソッドが返す値は、a の要素を同じ順序で表現する Boolean
インスタンスのシーケンスを含む List
に対し、hashCode
メソッドを呼び出して取得する値と同じです。a が null の場合、このメソッドは 0 を返します。
a
- ハッシュ値を計算する配列public static int hashCode(float[] a)
このメソッドが返す値は、a の要素を同じ順序で表現する Float
インスタンスのシーケンスを含む List
に対し、hashCode
メソッドを呼び出して取得する値と同じです。a が null の場合、このメソッドは 0 を返します。
a
- ハッシュ値を計算する配列public static int hashCode(double[] a)
このメソッドが返す値は、a の要素を同じ順序で表現する Double
インスタンスのシーケンスを含む List
に対し、hashCode
メソッドを呼び出して取得する値と同じです。a が null の場合、このメソッドは 0 を返します。
a
- ハッシュ値を計算する配列public static int hashCode(Object[] a)
2 つの配列 a および b を Arrays.equals(a, b) のように表現できる場合、これを Arrays.hashCode(a) == Arrays.hashCode(b) とも表現できます。
このメソッドにより返される値は、a が null である場合を除き、Arrays.asList(a).hashCode() により返される値に等しくなります。a が null である場合は、0 が返されます。
a
- 内容ベースのハッシュコードを計算する配列deepHashCode(Object[])
public static int deepHashCode(Object[] a)
2 つの配列 a および b を Arrays.deepEquals(a, b) のように表現できる場合、これを Arrays.deepHashCode(a) == Arrays.deepHashCode(b) とも表現できます。
このメソッドにより返される値の計算は、a と同じ要素を同じ順序で含むリストに対する List.hashCode()
により返される値の計算と類似しています。ただし、a の要素 e 自身が配列の場合、そのハッシュコードの計算は、e.hashCode() を呼び出すのではなく、Arrays.hashCode(e) の適切なオーバーロードを呼び出すか (e がプリミティブ型の配列である場合)、Arrays.deepHashCode(e) を再帰的に呼び出す (e が参照型の配列である場合) ことにより実行されます。a が null の場合、このメソッドは 0 を返します。
a
- 深層内容ベースのハッシュコードを計算する配列hashCode(Object[])
public static boolean deepEquals(Object[] a1, Object[] a2)
equals(Object[],Object[])
メソッドとは異なり、このメソッドは任意の深さで入れ子にされた配列での使用に適しています。
両方が null である場合、2 つの配列参照は深層で等価であるとみなされます。また、同数の要素を含む配列を参照する場合、2 つの配列内の対応する要素ペアは深層で等価になります。
null の可能性がある 2 つの要素 e1 および e2 は、次の条件のいずれかに適合する場合、深層で等価です。
指定された配列のどちらかで、1 つまたは複数の配列レベルを介して直接または間接的に自身が要素として含まれる場合、このメソッドの動作は定義されていません。
a1
- 同等であるかどうかを判定する 1 つめの配列a2
- 同等であるかどうかを判定する 2 つめの配列equals(Object[],Object[])
, Objects.deepEquals(Object, Object)
public static String toString(long[] a)
a
- 文字列表現を返す配列public static String toString(int[] a)
a
- 文字列表現を返す配列public static String toString(short[] a)
a
- 文字列表現を返す配列public static String toString(char[] a)
a
- 文字列表現を返す配列public static String toString(byte[] a)
a
- 文字列表現を返す配列public static String toString(boolean[] a)
a
- 文字列表現を返す配列public static String toString(float[] a)
a
- 文字列表現を返す配列public static String toString(double[] a)
a
- 文字列表現を返す配列public static String toString(Object[] a)
Object.toString()
メソッドにより配列が文字列に変換されます。Object には、内容ではなく識別情報が記述されています。
このメソッドにより返される値は、a が null である場合を除き、Arrays.asList(a).toString() により返される値に等しくなります。a が null である場合は、null が返されます。
a
- 文字列表現を返す配列deepToString(Object[])
public static String deepToString(Object[] a)
文字列表現は、角括弧 (「[]」) で囲まれた配列要素のリストで構成されます。隣接する要素は、文字「, 」(コンマとそれに続く空白文字) で区切られます。要素は、それ自体が配列でないかぎり String.valueOf(Object) により文字列に変換されます。
要素 e がプリミティブ型の配列である場合、Arrays.toString(e) の適切なオーバーロードを呼び出すことで文字列に変換されます。要素 e が参照型の配列である場合、このメソッドを再帰的に呼び出すことで文字列に変換されます。
無限の再帰を避けるため、指定された配列に自身が要素として含まれるか、1 つまたは複数の配列レベルを介した自身への間接参照が含まれる場合、自己参照は文字列「[...]」に変換されます。たとえば、自身への参照だけを含む配列は、「[[...]]」として描画されます。
指定された配列が null の場合、このメソッドは「null」を返します。
a
- 文字列表現を返す配列toString(Object[])
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.