Построил граф из условия ( http://edu.nstu.ru/courses/saod/images/graph1.gif) . node - хранит порядковый номер вершины, в edges добавляю вершины, которые соединены с исходной (node), т.е. получаем ребра. Записал в файл, прочитал из файла, все связи восстановились корректно и без метода reset. В чем подвох, чего я не понял/ сделал не так ?
public class Solution implements Serializable {
int node;
List<Solution> edges = new LinkedList<>();
public void printSolution(){
System.out.println("Solution "+node);
for (Solution s:edges
) {
System.out.println("my edge "+s.node);
}
System.out.println("-------------------------");
}
public static void main(String[] args) throws ClassNotFoundException,IOException {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("C:\\1.txt"));
Solution solution1 = new Solution();
Solution solution2 = new Solution();
Solution solution3 = new Solution();
Solution solution4 = new Solution();
Solution solution5 = new Solution();
Solution solution6 = new Solution();
solution1.node =1;
solution2.node =2;
solution3.node =3;
solution4.node =4;
solution5.node =5;
solution6.node =6;
solution1.edges.add(solution2);
solution2.edges.add(solution2);
solution2.edges.add(solution4);
solution2.edges.add(solution5);
solution4.edges.add(solution1);
solution4.edges.add(solution5);
solution5.edges.add(solution4);
solution6.edges.add(solution3);
solution1.printSolution();
solution2.printSolution();
solution3.printSolution();
solution4.printSolution();
solution5.printSolution();
solution6.printSolution();
oos.writeObject(solution1);
oos.writeObject(solution2);
oos.writeObject(solution3);
oos.writeObject(solution4);
oos.writeObject(solution5);
oos.writeObject(solution6);
oos.close();
ObjectInputStream ois= new ObjectInputStream(new FileInputStream("C:\\1.txt"));
Solution sol1 = (Solution) ois.readObject();
Solution sol2 = (Solution) ois.readObject();
Solution sol3 = (Solution) ois.readObject();
Solution sol4 = (Solution) ois.readObject();
Solution sol5 = (Solution) ois.readObject();
Solution sol6 = (Solution) ois.readObject();
sol1.printSolution();
sol2.printSolution();
sol3.printSolution();
sol4.printSolution();
sol5.printSolution();
sol6.printSolution();
}
}