java树集comperator删除对象
我的系统中有n条规则。在提交请求时,我必须选择准确的一个,否则规则为“无”
<>所以我给每个规则增加了权重年龄,但是问题是如果没有匹配的请求(一个属性),就不需要考虑这个规则。(我对这条规则给出了最高分。)我怎样才能从我的TreeSet
中删除它
目前这是我的比较方法:
private Flow selectExact(final FlowSelector flowSelector) {
TreeSet<Flow> sortedFlows = new TreeSet<Flow>(new Comparator<Flow>() {
@Override
public int compare(Flow o1, Flow o2)
{
return o1.calculateWt(flowSelector) - o2.calculateWt(flowSelector);
}
}
);
calculateWt
每个属性的方法权重年龄。我想基于这个calculateWt
方法对TreeSet
进行排序,但它不应该包括条目,即calculateWt > 100
。用calculateWt
排序的TreeSet
不大于100
# 1 楼答案
也许我还没有完全理解这个问题,但通常我们需要比较器来对树中的值进行排序。如果您想删除树中的某些条目,请在外部代码中手动删除它
像这样的