java PriorityQueue.remove(Object)方法的后置条件是什么?

时间:2015-12-08 01:32:42

标签: java priority-queue specifications formal-verification jml

我正在研究为java.util.PriorityQueue.remove(Object object)方法创建JML规范。到目前为止,我已经想到了以下前提条件:

//@ requires object != null;
//@ requires this.size() > 0;

我现在正试图找出后置条件。那么这个方法的确定字段是什么?我觉得它应该涉及size()方法,并确保数据不再在队列中,但我不知道如何写这个。

1 个答案:

答案 0 :(得分:-1)

以下是grepcode方法的代码。

 public boolean remove(Object o) {
  int i = indexOf(o);
  if (i == -1)
       return false;
  else {
       removeAt(i);
       return true;
  }
}

我会说根据队列中是否存在o,后置条件将为false或true。我不确定这是否是你要找的。