0
0

Java勉強メモ7_標準ライブラリ

Posted at

標準ライブラリ

Stringクラス

Stringクラスは、文字列を操作するためのメソッドを提供します。

主要な特徴

文字列は不変であり、一度作成すると変更できません。
新しい文字列を作成すると、実際には新しいStringオブジェクトが生成されます。

主要なメソッド

  1. length()
    説明: 文字列の長さ(文字数)を返します。
    例: str.length()
  2. charAt(int index)
    説明: 指定されたインデックス位置にある文字を返します。
    例: str.charAt(0)
  3. substring(int beginIndex, int endIndex)
    説明: 文字列の指定された範囲のサブストリングを返します。
    例: str.substring(1, 4)
  4. equals(Object anotherString)
    説明: 文字列が指定されたオブジェクトと等しいかどうかを比較します。
    例: str.equals("test")
  5. equalsIgnoreCase(String anotherString)
    説明: 文字列を大文字と小文字を区別せずに比較します。
    例: str.equalsIgnoreCase("TEST")
  6. startsWith(String prefix)
    説明: 文字列が指定された接頭辞で始まるかどうかを判断します。
    例: str.startsWith("He")
  7. endsWith(String suffix)
    説明: 文字列が指定された接尾辞で終わるかどうかを判断します。
    例: str.endsWith("ld")
  8. contains(CharSequence s)
    説明: 文字列が指定された文字列を含むかどうかを確認します。
    例: str.contains("lo")
  9. indexOf(String str)
    説明: 指定された文字列が最初に出現するインデックスを返します。
    例: str.indexOf("l")
  10. lastIndexOf(String str)
    説明: 指定された文字列が最後に出現するインデックスを返します。
    例: str.lastIndexOf("l")
  11. toUpperCase()
    説明: 文字列のすべての文字を大文字に変換します。
    例: str.toUpperCase()
  12. toLowerCase()
    説明: 文字列のすべての文字を小文字に変換します。
    例: str.toLowerCase()
  13. trim()
    説明: 文字列の先頭および末尾の空白を削除します。
    例: str.trim()
  14. replace(char oldChar, char newChar)
    説明: 文字列内の指定された文字を別の文字で置き換えます。
    例: str.replace('e', 'a')

Mathクラス

Mathクラスは、基本的な数学的演算や関数を提供するユーティリティクラスです。

主要なメソッド

  1. abs()
    説明: 引数の絶対値を返します。
    例: Math.abs(-4.7) は 4.7 を返します。
  2. ceil()
    説明: 引数の値以上で最小の整数をdouble型で返します。
    例: Math.ceil(4.2) は 5.0 を返します。
  3. floor()
    説明: 引数の値以下で最大の整数をdouble型で返します。
    例: Math.floor(4.8) は 4.0 を返します。
  4. round()
    説明: 引数を最も近い整数に四捨五入します。
    例: Math.round(4.4) は 4 を、Math.round(4.5) は 5 を返します。
  5. max()
    説明: 二つの引数のうち大きい方を返します。
    例: Math.max(3, 5) は 5 を返します。
  6. min()
    説明: 二つの引数のうち小さい方を返します。
    例: Math.min(3, 5) は 3 を返します。
  7. sqrt()
    説明: 引数の平方根を返します。
    例: Math.sqrt(16) は 4.0 を返します。
  8. pow()
    説明: 第一引数を底とし、第二引数を指数とするべき乗の結果を返します。
    例: Math.pow(2, 3) は 8.0 を返します。
  9. random()
    説明: 0.0以上1.0未満のランダムなdouble値を返します。
    例: Math.random() はランダムな値を返します。
  10. sin(), cos(), tan()
    説明: 引数(ラジアン単位)の正弦(sin)、余弦(cos)、正接(tan)を返します。
    例: Math.sin(Math.PI / 2) は 1.0 を返します。
  11. asin(), acos(), atan()
    説明: 引数の逆正弦(asin)、逆余弦(acos)、逆正接(atan)をラジアンで返します。
    例: Math.asin(1.0) は Math.PI / 2 を返します。
  12. toRadians(), toDegrees()
    説明: 角度をラジアンに変換する(toRadians)、ラジアンを角度に変換する(toDegrees)。
    例: Math.toRadians(180) は Math.PI を、Math.toDegrees(Math.PI) は 180.0 を返します。

コレクションフレームワーク

Listインターフェース

Listインターフェースは順序付けられたコレクションで、ユーザーはリスト内の各要素に特定の位置を割り当てます。これにより、同じ値の要素がリスト内に複数回出現することができます。

主要な特徴とメソッド
要素のインデックスによるアクセスが可能です。
add(), remove(), get(), **set()**などのメソッドが提供されています。
実装クラス
ArrayList: 配列ベースで実装されており、ランダムアクセスに優れています。
LinkedList: リンクリストによる実装で、要素の挿入と削除が効率的です。

Setインターフェース

Setインターフェースはユニークな要素のコレクションで、同じ要素の重複を許しません。

主要な特徴とメソッド
要素の追加、削除、検索が可能ですが、インデックスによるアクセスは提供されていません。
**add(), remove(), contains()**などのメソッドが利用可能です。
実装クラス
HashSet: ハッシュテーブルによる実装で、高速なアクセスを提供します。
LinkedHashSet: HashSetにリンクリストを組み合わせ、挿入順を維持します。
TreeSet: 木に基づく実装で、要素は自然順序付けされます。

Mapインターフェース

Mapインターフェースはキーと値のペアを格納するためのコレクションです。各キーはユニークである必要があり、それぞれのキーには一つの値が関連付けられています。

主要な特徴とメソッド
**put(), get(), remove()**などのメソッドを使用して、キーに基づいて値を操作します。
**keySet(), values(), entrySet()**メソッドでキー、値、またはキーと値のペアのセットを取得できます。
実装クラス
HashMap: ハッシュテーブルに基づく実装で、高速なアクセスが可能です。
LinkedHashMap: HashMapにリンクリストを組み合わせ、挿入順を維持します。
TreeMap: 赤黒木に基づく実装で、キーは自然順序付けされます。
これらのインターフェースとクラスは、様々なデータ構造のニーズに応えるために設計されています。適切なコレクションタイプを

選択することで、プログラムのパフォーマンスや効率を最適化できます。それぞれのコレクションは特定のユースケースに合わせて使い分けることが重要です。

Listの使用例

List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
String first = names.get(0); // "Alice" を取得

Setの使用例

Set<Integer> numbers = new HashSet<>();
numbers.add(1);
numbers.add(2);
numbers.add(1); // 重複する要素は追加されない
boolean containsTwo = numbers.contains(2); // true

Mapの使用例

Map<String, Integer> ages = new HashMap<>();
ages.put("Alice", 25);
ages.put("Bob", 30);
Integer age = ages.get("Alice"); // 25 を取得
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0