我有一个我想放在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
?