comparable interface java
public class BinarySearchTree< T extends Comparable<T>> { Node root; class Node { T data; Node left; Node right; public Node(T data) { this.data = data; } } public boolean isEmpty() { return root == null; } public void insert(T value) { if(isEmpty()) root = new Node(value); else insert(root, value); } private void insert(Node node, T value) { if(value.compareTo(node.data) < 0) { if(node.left == null) node.left = new Node(value); else insert(node.left, value); } else { if(node.right == null) node.right = new Node(value); else insert(node.right, value); } } }