import
java.io.*;
import
java.util.*;
class
CustomObject
implements
Serializable
{
private
int
id;
private
String name;
public
CustomObject(
int
id, String name)
{
this
.id = id;
this
.name = name;
}
public
int
getId()
{
return
id;
}
public
String getName()
{
return
name;
}
@Override
public
String toString()
{
return
"CustomObject{"
+
"id="
+ id +
", name='"
+ name + '\
''
+
'}'
;
}
}
public
class
TreeMapSerializationExample
{
public
static
void
main(String[] args)
{
TreeMap<String, CustomObject> treeMap =
new
TreeMap<>();
treeMap.put(
"One"
,
new
CustomObject(
1
,
"Object One"
));
treeMap.put(
"Two"
,
new
CustomObject(
2
,
"Object Two"
));
treeMap.put(
"Three"
,
new
CustomObject(
3
,
"Object Three"
));
try
{
FileOutputStream fileOut =
new
FileOutputStream(
"treeMap.ser"
);
ObjectOutputStream out =
new
ObjectOutputStream(fileOut);
out.writeObject(treeMap);
out.close();
fileOut.close();
System.out.println(
"TreeMap serialized successfully."
);
}
catch
(IOException e) {
e.printStackTrace();
}
try
{
FileInputStream fileIn =
new
FileInputStream(
"treeMap.ser"
);
ObjectInputStream in =
new
ObjectInputStream(fileIn);
TreeMap<String, CustomObject> deserializedTreeMap = (TreeMap<String, CustomObject>) in.readObject();
in.close();
fileIn.close();
System.out.println(
"Deserialized TreeMap: "
);
for
(Map.Entry<String, CustomObject> entry : deserializedTreeMap.entrySet()) {
System.out.println(entry.getKey() +
" -> "
+ entry.getValue());
}
}
catch
(IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}