我有一個我想放在TreeSet
中的類,它實現了Comparable
來按優先級對它們進行排序。下面是一小部分:從Java TreeSet中消失的對象
public abstract class PacketListener implements Comparable<PacketListener> {
public enum ListenerPriority {
LOWEST, LOW, NORMAL, HIGH, HIGHEST
}
private final ListenerPriority priority; // Initialized in constructor
// ... class body ...
@Override
public final int compareTo(PacketListener o) {
return priority.compareTo(o.priority);
}
}
的想法顯然是爲TreeSet
爲優先對象進行排序,讓我通過監聽器,以便進行迭代。但是,我發現由於某種原因,我無法在設置的對象上添加第二個PacketListener
。在添加兩個不同的對象後,該組的大小保持爲1.
我不應該使用TreeSet
?