JavaTuplesのTripletクラスとは?使い方をサンプルコード付きで解説
Tripletクラスは、3つの要素を持つタプル(Tuple)を表すクラスで、JavaTuplesライブラリの一部として提供されています。イミュータブル(不変)なデータ構造であるため、異なる型の複数の値を型安全にひとまとめにして扱いたい場合に非常に便利です。
Tripletクラスを使うための準備
JavaTuplesのTripletクラスを使用するには、まず以下のパッケージをインポートします。
import org.javatuples.Triplet;
例1:Tripletオブジェクトの作成
まず、Tripletクラスを使って3つの要素を持つタプルを作成する基本的な例を見てみましょう。
import org.javatuples.Triplet;
public class Demo {
public static void main(String[] args) {
Triplet<String, String, String> t = new Triplet<String, String, String>("One", "Two", "Three");
System.out.println(t);
}
}出力
[One, Two, Three]
例2:Tripletから値を取得する
次に、getValue0()メソッドを使って、Tripletから指定位置の値を取得する例を見てみましょう。インデックスは0から始まるため、getValue0()は最初の要素を返します。
import org.javatuples.Triplet;
public class Demo {
public static void main(String[] args) {
Triplet<String, String, String> t = new Triplet<String, String, String>("One", "Two", "Three");
System.out.println(t);
System.out.println("取得した値: " + t.getValue0());
}
}出力
[One, Two, Three] 取得した値: One
例3:setAt1()で新しい値を設定する
最後に、setAt1()メソッドを使って、インデックス1の位置に新しい値を設定したコピーを作成する例です。Tripletはイミュータブルなため、元のオブジェクトは変更されず、更新された新しいTripletが返される点に注意してください。
import org.javatuples.Triplet;
public class Demo {
public static void main(String[] args) {
Triplet<String, String, String> t1 = Triplet.with("Movies", "Web Series", "TV Shows");
System.out.println(t1);
Triplet<String, String, String> t2 = t1.setAt1("Songs");
System.out.println(t2);
}
}出力
[Movies, Web Series, TV Shows] [Movies, Songs, TV Shows]
このように、Tripletクラスを活用することで、3つの値を簡潔かつ型安全にひとつのオブジェクトとして管理できます。コンストラクタのほかに、Triplet.with()ファクトリメソッドを使えば、より直感的にインスタンスを生成できるのも魅力です。
-
JavaScriptでASCII文字列と16進数を相互変換するコンバータークラスの実装方法
課題今回は、以下の2つのメンバー関数を持つJavaScriptクラスを作成する必要があります。toHex: ASCII文字列を受け取り、それに対応する16進数の文字列を返します。toASCII: 16進数の文字列を受け取り、それに対応するASCII文字列を返します。たとえば、関数への入力が次のようになっているとします。入力const str = this is a string;この場合、変換後の16進数とASCII文字列はそれぞれ以下のようになります。74686973206973206120737472696e67this is a string変換の仕組みASCIIから16進数への変換では
-
AndroidでStringBuilderクラスを使う方法を実例付きで解説
具体的な例に入る前に、まずStringBuilderクラスの基本について確認しておきましょう。StringBuilderクラスは可変(ミュータブル)な文字列を生成するためのクラスです。スレッドセーフではないため、複数のスレッドから同時にアクセス可能という特徴があります。本記事では、AndroidアプリでStringBuilderクラスを実際に使う方法を、サンプルコードとともに段階的に解説します。StringBuilderの主な特徴文字列を自由に追加・挿入・削除・変更できる(可変)Stringと異なり、操作のたびに新しいオブジェクトを生成しないため高速スレッドセーフではない(同期が必要な場合はS