Java Silver:クラスとメソッドの完全一覧
1. 基本クラス
java.lang.String
Stringクラスは、Javaで文字列を扱うためのクラスです。以下は、よく使われるメソッドです。
length(): 文字列の長さを返します。
charAt(int index): 指定された位置の文字を返します。
substring(int beginIndex, int endIndex): 文字列の一部を返します。
equals(Object anObject): 文字列が等しいかどうかを比較します。
equalsIgnoreCase(String anotherString): 大文字と小文字を無視して文字列が等しいかどうかを比較します。
compareTo(String anotherString): 辞書順で文字列を比較します。
compareToIgnoreCase(String str): 大文字と小文字を無視して辞書順で文字列を比較します。
startsWith(String prefix): 指定された接頭辞で始まるかどうかを判定します。
endsWith(String suffix): 指定された接尾辞で終わるかどうかを判定します。
indexOf(int ch): 指定された文字が最初に出現する位置を返します。
lastIndexOf(int ch): 指定された文字が最後に出現する位置を返します。
replace(char oldChar, char newChar): 文字を置き換えます。
toUpperCase(): 文字列を大文字に変換します。
toLowerCase(): 文字列を小文字に変換します。
trim(): 前後の空白を削除します。
split(String regex): 正規表現で分割します。
String str = "Hello World";
int length = str.length(); // 11
char firstChar = str.charAt(0); // 'H'
String subStr = str.substring(0, 5); // "Hello"
boolean isEqual = str.equals("Hello World"); // true
java.lang.StringBuilder / java.lang.StringBuffer
これらのクラスは、可変長の文字列を扱います。StringBuilderはスレッドセーフではありませんが、StringBufferはスレッドセーフです。
append(String str): 文字列を追加します。
insert(int offset, String str): 文字列を挿入します。
replace(int start, int end, String str): 文字列の一部を置き換えます。
delete(int start, int end): 文字列の一部を削除します。
reverse(): 文字列を逆にします。
toString(): Stringに変換します。
StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");
String result = sb.toString(); // "Hello World"
java.lang.Math
Mathクラスは、数学的な演算を行うためのメソッドを提供します。
abs(int a): 絶対値を返します。
abs(double a): 絶対値を返します。
max(int a, int b): 最大値を返します。
max(double a, double b): 最大値を返します。
min(int a, int b): 最小値を返します。
min(double a, double b): 最小値を返します。
pow(double a, double b): 指数計算を行います。
sqrt(double a): 平方根を返します。
random(): 0.0以上1.0未満のランダムな値を返します。
コードをコピーする
int absValue = Math.abs(-10); // 10
double sqrtValue = Math.sqrt(25.0); // 5.0
2. ラッパークラス
java.lang.Integer
Integerクラスは、int型のラッパークラスです。
parseInt(String s): 文字列を整数に変換します。
valueOf(String s): 文字列をIntegerオブジェクトに変換します。
intValue(): Integerオブジェクトをintに変換します。
compareTo(Integer anotherInteger): 整数を比較します。
int num = Integer.parseInt("123"); // 123
Integer intObj = Integer.valueOf("123"); // Integerオブジェクト
int intValue = intObj.intValue(); // 123
java.lang.Double
Doubleクラスは、double型のラッパークラスです。
parseDouble(String s): 文字列をdoubleに変換します。
valueOf(String s): 文字列をDoubleオブジェクトに変換します。
doubleValue(): Doubleオブジェクトをdoubleに変換します。
compareTo(Double anotherDouble): 浮動小数点数を比較します。
double num = Double.parseDouble("123.45"); // 123.45
Double doubleObj = Double.valueOf("123.45"); // Doubleオブジェクト
double doubleValue = doubleObj.doubleValue(); // 123.45
3. コレクションクラス
java.util.List
Listインターフェースは、順序付きコレクションを表します。
add(E e): 要素を追加します。
add(int index, E element): 指定した位置に要素を挿入します。
remove(int index): 指定した位置の要素を削除します。
remove(Object o): 指定した要素を削除します。
get(int index): 指定した位置の要素を返します。
set(int index, E element): 指定した位置の要素を置き換えます。
size(): リストの要素数を返します。
contains(Object o): リストが指定した要素を含むかどうかを判定します。
isEmpty(): リストが空かどうかを判定します。
List<String> list = new ArrayList<>();
list.add("apple");
list.add("orange");
list.add(1, "banana");
String fruit = list.get(1); // "banana"
list.remove("orange");
java.util.ArrayList
ArrayListクラスは、可変長配列の実装です。
trimToSize(): 現在のサイズに容量を削減します。
ensureCapacity(int minCapacity): 最小容量を確保します。
java.util.LinkedList
LinkedListクラスは、両端連結リストの実装です。
addFirst(E e): 先頭に要素を追加します。
addLast(E e): 末尾に要素を追加します。
getFirst(): 先頭の要素を取得します。
getLast(): 末尾の要素を取得します。
removeFirst(): 先頭の要素を削除します。
removeLast(): 末尾の要素を削除します。
java.util.Set
Setインターフェースは、重複する要素を許さないコレクションを表します。
add(E e): 要素を追加します。
remove(Object o): 指定した要素を削除します。
contains(Object o): セットが指定した要素を含むかどうかを判定します。
size(): セットの要素数を返します。
isEmpty(): セットが空かどうかを判定します。
java.util.HashSet
HashSetクラスは、ハッシュテーブルを使用したセットの実装です。
clone(): ハッシュセットのシャローコピーを作成します。
iterator(): セット内の要素を順番に返す反復子を返します。
java.util.Map
Mapインターフェースは、キーと値のペアを保持するコレクションを表します。
put(K key, V value): キーと値のペアを追加します。
get(Object key): 指定したキーに対応する値を返します。
remove(Object key): 指定したキーに対応する値を削除します。
containsKey(Object key): 指定したキーが含まれているかを判定します。
containsValue(Object value): 指定した値が含まれているかを判定します。
keySet(): すべてのキーを含むセットを返します。
values(): すべての値を含むコレクションを返します。
entrySet(): すべてのキーと値のペアを含むセットを返します。
java.util.HashMap
HashMapクラスは、ハッシュテーブルを使用したマップの実装です。
clone(): ハッシュマップのシャローコピーを作成します。
4. 基本的なユーティリティクラス
java.util.Collections
Collectionsクラスは、コレクションを操作するための静的メソッドを提供します。
sort(List<T> list): リストを自然順序でソートします。
reverse(List<?> list): リストの要素を逆順にします。
shuffle(List<?> list): リストの要素をランダムに並べ替えます。
binarySearch(List<? extends Comparable<? super T>> list, T key): ソートされたリストを二分探索します。
java.util.Arrays
Arraysクラスは、配列を操作するための静的メソッドを提供します。
sort(T[] a): 配列を自然順序でソートします。
binarySearch(T[] a, T key): ソートされた配列を二分探索します。
asList(T... a): 配列をリストに変換します。
copyOf(T[] original, int newLength): 配列をコピーします。
5. 日付と時刻のクラス
java.time.LocalDate
LocalDateクラスは、日付(年月日)を表します。
now(): 現在の日付を取得します。
of(int year, int month, int dayOfMonth): 指定された年月日を表す日付を取得します。
plusDays(long days): 日付を加算します。
minusDays(long days): 日付を減算します。
getYear(): 年を取得します。
getMonth(): 月を取得します。
getDayOfMonth(): 日を取得します。
java.time.LocalTime
LocalTimeクラスは、時刻(時分秒)を表します。
now(): 現在の時刻を取得します。
of(int hour, int minute): 指定された時分を表す時刻を取得します。
plusHours(long hours): 時刻を加算します。
minusHours(long hours): 時刻を減算します。
getHour(): 時を取得します。
getMinute(): 分を取得します。
java.time.LocalDateTime
LocalDateTimeクラスは、日付と時刻を表します。
now(): 現在の日付と時刻を取得します。
of(int year, int month, int dayOfMonth, int hour, int minute): 指定された年月日と時分を表す日時を取得します。
plusDays(long days): 日付を加算します。
minusDays(long days): 日付を減算します。
getYear(): 年を取得します。
getMonth(): 月を取得します。
getDayOfMonth(): 日を取得します。
getHour(): 時を取得します。
getMinute(): 分を取得します。
6. 入出力クラス
java.io.File
Fileクラスは、ファイルおよびディレクトリのパス名を抽象表現します。
exists(): ファイルまたはディレクトリが存在するかどうかを判定します。
createNewFile(): 新しいファイルを作成します。
delete(): ファイルまたはディレクトリを削除します。
getName(): ファイル名を取得します。
getPath(): ファイルのパスを取得します。
length(): ファイルの長さを取得します。
mkdir(): 新しいディレクトリを作成します。
list(): ディレクトリ内のファイルとディレクトリの名前を配列として取得します。
7. 例外クラス
java.lang.Exception
Exceptionクラスは、例外処理のための基本クラスです。
getMessage(): 例外の詳細メッセージを取得します。
printStackTrace(): 例外のスタックトレースを出力します。
java.lang.RuntimeException
RuntimeExceptionクラスは、一般的なランタイム例外のための基本クラスです。
8. ランダム数生成
java.util.Random
Randomクラスは、擬似乱数を生成するためのメソッドを提供します。
nextInt(): 次の擬似乱数をint値として返します。
nextInt(int bound): 0(包含)から指定された値(排他)までの擬似乱数を返します。
nextDouble(): 次の擬似乱数をdouble値として返します。
nextBoolean(): 次の擬似乱数をboolean値として返します。
Random rand = new Random();
int randomInt = rand.nextInt(10); // 0から9のランダムな整数
double randomDouble = rand.nextDouble(); // 0.0から1.0のランダムな浮動小数点数
boolean randomBoolean = rand.nextBoolean(); // trueまたはfalseのランダムな値
【参考】
Discussion