【Java】TreeSetの要素をファイルに保存する方法を解説
TreeSetはAbstractSetクラスのサブクラスであり、重複する要素を許可しないコレクションです。デフォルトでは要素を昇順で自動的にソートして保持するため、特定の要素への検索・取得速度が速いという特徴があります。内部的にはTreeMapを使用して要素を格納しており、各要素はその自然順序付け(natural ordering)に従って並べ替えられます。
この記事では、TreeSetに格納された要素をファイルに保存する方法を紹介します。手順としては、Arrays.asList()メソッドを使ってセットを作成し、それをObjectOutputStreamクラスのwriteObject()メソッドの引数として渡すことで、オブジェクトとしてファイルへ書き出すことができます。
構文
public class TreeSet extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable
コード例
以下の例では、文字列の配列からTreeSetを作成し、その内容を「set.txt」というファイルにシリアライズして保存しています。
import java.util.*;
import java.io.*;
public class TreeSetTest {
public static void main(String args[]) {
try {
String elements[] = {"Raja", "Jai", "Adithya", "Chaitanya"};
Set<String> set = new TreeSet<String>(Arrays.asList(elements));
FileOutputStream fos = new FileOutputStream("set.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(set);
oos.close();
System.out.println("The elements of a Set saved to a File Sucessfully");
} catch(Exception e) {
System.out.println("Error Occurred : " + e.getMessage());
}
}
}
実行結果
The elements of a Set saved to a File Sucessfully
処理のポイント
- FileOutputStreamで書き込み先のファイル(set.txt)を開きます。
- ObjectOutputStreamでラップすることにより、オブジェクトを直列化(シリアライズ)して書き込めるようになります。
- writeObject()メソッドにTreeSetを渡すことで、セット全体がファイルに保存されます。
- 使用後はclose()メソッドでストリームを必ず閉じましょう。リソースリークを防ぐために、try-with-resources構文を使うとより安全です。
- 例外発生時にはcatchブロックでエラーメッセージを出力し、適切にハンドリングします。
このように、TreeSetはSerializableインターフェースを実装しているため、簡単なコードでその内容をファイルに永続化できます。保存したデータを読み戻す場合は、ObjectInputStreamのreadObject()メソッドを使用します。
-
PowerPointでファイルが保存できないエラーを解決する6つの方法【Windows 10】
Windows 10環境でPowerPointを使用している際、「プレゼンテーションを保存できない」というエラーに悩まされるユーザーは少なくありません。このエラーの原因はさまざまですが、主なものとしては、ファイル自体の破損、スライド内のコンテンツ(フォントやグラフィックなど)の問題、Officeアプリケーションの不具合、同名ファイルが使用中であることなどが挙げられます。 この場合、次のようなエラーメッセージが表示されることがあります。 PowerPointがファイルの保存中にエラーが発生しましたファイルが読み取り専用のため、PPTXファイルを保存できません 本記事では、PowerPointで
-
Linuxでターミナルの出力をファイルに保存する5つの方法
ターミナルはLinuxシステムの中核を担う存在です。Webブラウザのような大規模なプログラムから、テキストエディタのようなシンプルなツールまで、Linux上で動作するすべてのプログラムは、その裏でターミナルのコマンドラインによって実行されています。そのため、OSの仕組みを深く理解したいなら、ターミナルを正しく使いこなせるようになることが重要な第一歩となります。 そんなLinuxのターミナル作業中に、「コマンドの出力結果をファイルとして保存したい」と思う場面は少なくありません。保存したファイルは、別の処理の入力データとして使ったり、ターミナルの操作ログとして記録したりできます。本記事では、ター