другие говорят, что для создания бинарного дерева поиска с массивом {3,7,1,90,45,67,54,23,...}
хорошо работать с TreeSet
. Но мой код ниже выдаст исключение, и я не знаю почему? мой список массивов "array"
содержит 100 objects
, что у каждого объекта есть two fields 1)digit 2)name
, и я хочу сделать BST
с полем цифры этих объектов. Пожалуйста, помогите мне спасибо.
TreeSet<Element> set = null;
set = new TreeSet<Element>();
for(Element e :array){
set.add(e);
}
Iterator it1 = set.iterator();
while (it1.hasNext()) {
Object o1 = it1.next();
System.out.println(o1);
}
Исключение:
Exception in thread "main" java.lang.ClassCastException: OBST.Element cannot be cast to java.lang.Comparable
at java.util.TreeMap.put(TreeMap.java:542)
at java.util.TreeSet.add(TreeSet.java:238)
at OBST.GreedyVersion.<init>(GreedyVersion.java:25)
at OBST.GreedyVersion.main(GreedyVersion.java:66)
из-за строки: set.add(e);