操作中に使用するハッシュマップにクラン (クラン クラス オブジェクト) を格納するプラグインを開発しています。hasmap はファイルに保存され (ハッシュマップ全体をシリアル化するのが理想的ですが、それが可能かどうかはわかりません)、後で再読み込みされます。
オブジェクトを保存するにはどうすればよいですか? ハッシュマップ全体をシリアライズできますか? 前もって感謝します; 私はハッシュマップが初めてです:P
はい、HashMap
クラスはすでにSerializable
インターフェイスを実装しているため、オブジェクトをシリアル化できます。HashMap
ドキュメントから:
public class HashMap extends AbstractMap 実装 Map、Cloneable、Serializable
同様にシリアル化するには、Clan
クラスがインターフェイスを実装する必要があることに注意してください。Serializable
クラスをマップのキーとして使用する場合は、メソッドとメソッドClan
をオーバーライドする必要があります。hashCode
equals
HashMap はシリアライズ可能であるため、もちろん可能です。Clan
シリアライズ可能にすることも忘れないでください
ファイルへの書き込み:
FileOutputStream fos = new FileOutputStream("clans");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(clans);
oos.close();
ファイルから読み取る:
FileInputStream fis = new FileInputStream("clans");
ObjectInputStream ois = new ObjectInputStream(fis);
HashMap<String, Clan> clans = (HashMap) ois.readObject();
ois.close();