PDA

View Full Version : serialization



hadi0x7c7
سه شنبه 09 آبان 1391, 09:24 صبح
سلام
دوستان کسی اطلاع داره که یک binary_tree رو میشه با serialization روی دیسک ذخیره کرد؟ در مورد btree چطور؟ این به فرض کلاس binary_tree هست؟
import java.util.Random;

class BinaryTree<E extends Comparable<E>> {

private TreeNode<E> root;

private static class TreeNode<T extends Comparable<T>> {
public T val;
public TreeNode<T> left, right;

public TreeNode(T val, TreeNode<T> left, TreeNode<T> right) {
this.val = val;
this.left = left;
this.right = right;
}

public void insert(T data) {
if (val.compareTo(data) < 0) {
if (right != null)
right.insert(data);
else
right = new TreeNode<T>(data, null, null);
} else if (val.compareTo(data) > 0) {
if (left != null)
left.insert(data);
else
left = new TreeNode<T>(data, null, null);
}
}

}

public BinaryTree() {
root = null;
}

public void add(E val) {
if (root == null)
root = new TreeNode<E>(val, null, null);
else
root.insert(val);
}

public void inorder() {
inorder(root);
}

public void inorder(TreeNode<E> node) {
TreeNode<E> prev = node;
if (node != null) {
inorder(prev.left);
System.out.print(prev.val + " ");
inorder(prev.right);
}
}

}

همایون افشاری
سه شنبه 09 آبان 1391, 19:54 عصر
برای اینکه بتونید یه شی رو روی دیسک بنویسید باید اون شی نمونه ای از کلاسی باشه که واسط Serializable رو پیاده سازی می کنه مثلا
class BinaryTree<E extends Comparable<E>> implement Serializable {
در این صورت می تونید شی از نوع BinaryTree رو توی یک Stream بنویسید و یا از اون بخونید.